mbox series

[bug#50317,0/2] Update ‘ocaml-ppxlib’

Message ID cover.1630501007.git.public@yoctocell.xyz
Headers show
Series Update ‘ocaml-ppxlib’ | expand

Message

Xinglu Chen Sept. 1, 2021, 12:58 p.m. UTC
‘ocaml-ppx-optcomp’ fails to build with the new ‘ocaml-ppxlib’, updating
it makes it build again.

Xinglu Chen (2):
  gnu: ocaml-ppxlib: Update to 0.23.0.
  gnu: ocaml-ppx-optcomp: Update to 0.14.3.

 gnu/packages/ocaml.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)


base-commit: 96e487b310d6f70fb6fb4c88cdd936225450706f

Comments

Ludovic Courtès Sept. 3, 2021, 8:37 p.m. UTC | #1
Hi,

Xinglu Chen <public@yoctocell.xyz> skribis:

> ‘ocaml-ppx-optcomp’ fails to build with the new ‘ocaml-ppxlib’, updating
> it makes it build again.

In that case, I’d suggest updating both in the same commit, so that each
commit contains a working package set.

>   gnu: ocaml-ppxlib: Update to 0.23.0.
>   gnu: ocaml-ppx-optcomp: Update to 0.14.3.

Unfortunately, at least one dependent fails to build:

--8<---------------cut here---------------start------------->8---
starting phase `build'
File "src/ppx_variants_conv.ml", line 69, characters 22-41:
69 |   if Caml.Hashtbl.mem Lexer.keyword_table s
                           ^^^^^^^^^^^^^^^^^^^
Error: Unbound value Lexer.keyword_table
command "dune" "build" "@install" "--profile" "release" failed with status 1
builder for `/gnu/store/g73id3dchmqc0dirv9ahzmgbwsyba78b-ocaml-ppx-variants-conv-0.14.1.drv' failed with exit code 1
--8<---------------cut here---------------end--------------->8---

Could you check this one and other packages returned by ‘guix refresh -l
ocaml-ppxlib’?

Thanks in advance,
Ludo’.
Xinglu Chen Sept. 4, 2021, 10:56 a.m. UTC | #2
On Fri, Sep 03 2021, Ludovic Courtès wrote:

> Hi,
>
> Xinglu Chen <public@yoctocell.xyz> skribis:
>
>> ‘ocaml-ppx-optcomp’ fails to build with the new ‘ocaml-ppxlib’, updating
>> it makes it build again.
>
> In that case, I’d suggest updating both in the same commit, so that each
> commit contains a working package set.

Or maybe I could reorder the commits so that the ‘ocaml-ppxlib’ update
comes last?

>>   gnu: ocaml-ppxlib: Update to 0.23.0.
>>   gnu: ocaml-ppx-optcomp: Update to 0.14.3.
>
> Unfortunately, at least one dependent fails to build:
>
> --8<---------------cut here---------------start------------->8---
> starting phase `build'
> File "src/ppx_variants_conv.ml", line 69, characters 22-41:
> 69 |   if Caml.Hashtbl.mem Lexer.keyword_table s
>                            ^^^^^^^^^^^^^^^^^^^
> Error: Unbound value Lexer.keyword_table
> command "dune" "build" "@install" "--profile" "release" failed with status 1
> builder for `/gnu/store/g73id3dchmqc0dirv9ahzmgbwsyba78b-ocaml-ppx-variants-conv-0.14.1.drv' failed with exit code 1
> --8<---------------cut here---------------end--------------->8---
>
> Could you check this one and other packages returned by ‘guix refresh -l
> ocaml-ppxlib’?
>

Good catch!  There is a patch that should fix this issue[1]; should I
apply the patch to fix the build?

I didn’t build the ‘ocaml-llwm’ packages since I would have to first
build ‘llvm’ from source...[*].  The ‘ocaml-markup0.8.0’ fails too, but
it was already failing before applying this patch, so I will send a
separate series to try to fix it.  I also had to update ‘ocamlformat’ to
make it build.

Thanks for the taking a look!

[*]: I have noticed that substitute availability has been pretty poor
lately.  :-(

[1]: <https://github.com/janestreet/ppx_variants_conv/pull/9>
Ludovic Courtès Sept. 6, 2021, 8:07 a.m. UTC | #3
Hi,

Xinglu Chen <public@yoctocell.xyz> skribis:

> On Fri, Sep 03 2021, Ludovic Courtès wrote:
>
>> Hi,
>>
>> Xinglu Chen <public@yoctocell.xyz> skribis:
>>
>>> ‘ocaml-ppx-optcomp’ fails to build with the new ‘ocaml-ppxlib’, updating
>>> it makes it build again.
>>
>> In that case, I’d suggest updating both in the same commit, so that each
>> commit contains a working package set.
>
> Or maybe I could reorder the commits so that the ‘ocaml-ppxlib’ update
> comes last?

Yes, we can do that.

>> Unfortunately, at least one dependent fails to build:
>>
>> --8<---------------cut here---------------start------------->8---
>> starting phase `build'
>> File "src/ppx_variants_conv.ml", line 69, characters 22-41:
>> 69 |   if Caml.Hashtbl.mem Lexer.keyword_table s
>>                            ^^^^^^^^^^^^^^^^^^^
>> Error: Unbound value Lexer.keyword_table
>> command "dune" "build" "@install" "--profile" "release" failed with status 1
>> builder for `/gnu/store/g73id3dchmqc0dirv9ahzmgbwsyba78b-ocaml-ppx-variants-conv-0.14.1.drv' failed with exit code 1
>> --8<---------------cut here---------------end--------------->8---
>>
>> Could you check this one and other packages returned by ‘guix refresh -l
>> ocaml-ppxlib’?
>>
>
> Good catch!  There is a patch that should fix this issue[1]; should I
> apply the patch to fix the build?

Yes please!  Let me know when there’s something I should apply.  :-)

Thanks,
Ludo’.
Xinglu Chen Sept. 6, 2021, 1:49 p.m. UTC | #4
On Mon, Sep 06 2021, Ludovic Courtès wrote:

> Hi,
>
> Xinglu Chen <public@yoctocell.xyz> skribis:
>
>> On Fri, Sep 03 2021, Ludovic Courtès wrote:
>>
>>> Hi,
>>>
>>> Xinglu Chen <public@yoctocell.xyz> skribis:
>>>
>>>> ‘ocaml-ppx-optcomp’ fails to build with the new ‘ocaml-ppxlib’, updating
>>>> it makes it build again.
>>>
>>> In that case, I’d suggest updating both in the same commit, so that each
>>> commit contains a working package set.
>>
>> Or maybe I could reorder the commits so that the ‘ocaml-ppxlib’ update
>> comes last?
>
> Yes, we can do that.
>
>>> Unfortunately, at least one dependent fails to build:
>>>
>>> --8<---------------cut here---------------start------------->8---
>>> starting phase `build'
>>> File "src/ppx_variants_conv.ml", line 69, characters 22-41:
>>> 69 |   if Caml.Hashtbl.mem Lexer.keyword_table s
>>>                            ^^^^^^^^^^^^^^^^^^^
>>> Error: Unbound value Lexer.keyword_table
>>> command "dune" "build" "@install" "--profile" "release" failed with status 1
>>> builder for `/gnu/store/g73id3dchmqc0dirv9ahzmgbwsyba78b-ocaml-ppx-variants-conv-0.14.1.drv' failed with exit code 1
>>> --8<---------------cut here---------------end--------------->8---
>>>
>>> Could you check this one and other packages returned by ‘guix refresh -l
>>> ocaml-ppxlib’?
>>>
>>
>> Good catch!  There is a patch that should fix this issue[1]; should I
>> apply the patch to fix the build?
>
> Yes please!  Let me know when there’s something I should apply.  :-)

Cool, I will send a revised series soon!
Xinglu Chen Sept. 6, 2021, 2:06 p.m. UTC | #5
Changes since v1:

* Update ‘ocamlformat’ to fix the build with ‘ocaml-ppxlib’.

* Patch ‘ocaml-ppx-variants-conv’ to make it build with
  ocaml-ppxlib@0.23.0.

* Reorder the patches so that the ‘ocaml-ppxlib’ update comes last.

Xinglu Chen (4):
  gnu: ocaml-ppx-optcomp: Update to 0.14.3.
  gnu: ocamlformat: Update to 0.19.0.
  gnu: ocaml-ppx-variants-conv: Patch for building with ocaml-ppxlib.
  gnu: ocaml-ppxlib: Update to 0.23.0.

 gnu/local.mk                                  |  1 +
 gnu/packages/ocaml.scm                        | 17 +++++---
 ...ocaml-ppx-variants-ppxlib-api-change.patch | 42 +++++++++++++++++++
 3 files changed, 54 insertions(+), 6 deletions(-)
 create mode 100644 gnu/packages/patches/ocaml-ppx-variants-ppxlib-api-change.patch


base-commit: 9540323458de87b0b8aa421e449a4fe27af7c393