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

ocamlPackages: irmin 2.2.0 → 2.4.0; git: 2.13 → 3.2.0; and related changes #110184

Merged
merged 13 commits into from Feb 16, 2021

Conversation

sternenseemann
Copy link
Member

@sternenseemann sternenseemann commented Jan 20, 2021

Motivation for this change

This pull request updates git and irmin to their latest versions and adds some missing packages for them (most notably their -mirage* variants, reference #23955).

All other changes are related to this as these updates and new packaages are (indirectly) required by these updates. Some of them can be reviewed and merged separately and their commits are also PR'd separately:

Things done

  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@sternenseemann
Copy link
Member Author

Result of nixpkgs-review pr 110184 1

46 packages built:
  • ocamlPackages.bheap
  • ocamlPackages.carton
  • ocamlPackages.carton-git
  • ocamlPackages.carton-lwt
  • ocamlPackages.cohttp-mirage
  • ocamlPackages.conduit-mirage
  • ocamlPackages.decompress
  • ocamlPackages.duff
  • ocamlPackages.either
  • ocamlPackages.emile
  • ocamlPackages.encore
  • ocamlPackages.git
  • ocamlPackages.git-cohttp
  • ocamlPackages.git-cohttp-mirage
  • ocamlPackages.git-cohttp-unix
  • ocamlPackages.git-unix
  • ocamlPackages.hxd
  • ocamlPackages.imagelib
  • ocamlPackages.index
  • ocamlPackages.irmin
  • ocamlPackages.irmin-chunk
  • ocamlPackages.irmin-containers
  • ocamlPackages.irmin-fs
  • ocamlPackages.irmin-git
  • ocamlPackages.irmin-graphql
  • ocamlPackages.irmin-http
  • ocamlPackages.irmin-layers
  • ocamlPackages.irmin-mem
  • ocamlPackages.irmin-mirage
  • ocamlPackages.irmin-mirage-git
  • ocamlPackages.irmin-mirage-graphql
  • ocamlPackages.irmin-pack
  • ocamlPackages.irmin-test
  • ocamlPackages.irmin-unix
  • ocamlPackages.pecu
  • ocamlPackages.ppx_irmin
  • ocamlPackages.ppx_repr
  • ocamlPackages.progress
  • ocamlPackages.repr
  • ocamlPackages.semaphore-compat
  • ocamlPackages.terminal_size
  • ocamlPackages.tls-mirage
  • ocamlPackages.vchan
  • ocamlPackages.xenstore
  • ocamlPackages.xenstore-tool
  • ocamlPackages.xenstore_transport

@sternenseemann sternenseemann force-pushed the irmin-2.3.0 branch 7 times, most recently from 2a721e5 to 74b2484 Compare January 27, 2021 18:40
@sternenseemann
Copy link
Member Author

Getting the following build error for wodan-irmin:

      ocamlc src/wodan-irmin/.wodan_irmin.objs/byte/wodan_irmin.{cmo,cmt} (exit 2)
(cd _build/default && /nix/store/11xyy5msbabcli88gfrp5dh64n1mp4hb-ocaml-4.10.0/bin/ocamlc.opt -w -40 -g -g -bin-annot -I src/wodan-irmin/.wodan_irmin.objs/byte -I /nix/store/1myqnkifql7mc8ic4sd98ds5q69vbc3f-ocaml4.10.0-wodan-unstable-2020-11-20/lib/ocaml/4.10.0/site-lib/wodan -I /nix/store/1s0nb4rfzhwn0i0xb9hfva3hqnp28ar0-ocaml4.10.0-irmin-chunk-2.3.0/lib/ocaml/4.10.0/site-lib/irmin-chunk -I /nix/store/2pz330gg5xbq21lxy3358a032mlc4fxl-ocaml4.10.0-logs-0.7.0/lib/ocaml/4.10.0/site-lib/logs -I /nix/store/5hnzrqncm02l5r73vfdpd0q3ww1qlqpm-ocaml4.10.0-irmin-2.3.0/lib/ocaml/4.10.0/site-lib/irmin -I /nix/store/865njgmzkbbimsbmss6rqlp35lhp1bfn-ocaml4.10.0-irmin-git-2.3.0/lib/ocaml/4.10.0/site-lib/irmin-git -I /nix/store/kbgylgqi3f0vkwlcil7jm7hsnmyc14jm-ocaml4.10.0-fmt-0.8.9/lib/ocaml/4.10.0/site-lib/fmt -I /nix/store/nz5g64nldcgx87ivr4ddllrs3shwpjls-ocaml4.10.0-lwt-5.3.0/lib/ocaml/4.10.0/site-lib/lwt -I /nix/store/z2yif5iwmmanjnravz2b5x5mkn3ywjx0-ocaml4.10.0-mirage-block-2.0.1/lib/ocaml/4.10.0/site-lib/mirage-block -intf-suffix .ml -no-alias-deps -o src/wodan-irmin/.wodan_irmin.objs/byte/wodan_irmin.cmo -c -impl src/wodan-irmin/wodan_irmin.pp.ml)
File "src/wodan-irmin/wodan_irmin.ml", line 285, characters 7-19:
285 |   (V : Irmin.Type.S)
             ^^^^^^^^^^^^
Error: The module Irmin.Type is an alias for module Repr, which is missing
    ocamlopt src/wodan-irmin/.wodan_irmin.objs/native/wodan_irmin.{cmx,o} (exit 2)
(cd _build/default && /nix/store/11xyy5msbabcli88gfrp5dh64n1mp4hb-ocaml-4.10.0/bin/ocamlopt.opt -w -40 -g -g -g -O3 -I src/wodan-irmin/.wodan_irmin.objs/byte -I src/wodan-irmin/.wodan_irmin.objs/native -I /nix/store/1myqnkifql7mc8ic4sd98ds5q69vbc3f-ocaml4.10.0-wodan-unstable-2020-11-20/lib/ocaml/4.10.0/site-lib/wodan -I /nix/store/1s0nb4rfzhwn0i0xb9hfva3hqnp28ar0-ocaml4.10.0-irmin-chunk-2.3.0/lib/ocaml/4.10.0/site-lib/irmin-chunk -I /nix/store/2pz330gg5xbq21lxy3358a032mlc4fxl-ocaml4.10.0-logs-0.7.0/lib/ocaml/4.10.0/site-lib/logs -I /nix/store/5hnzrqncm02l5r73vfdpd0q3ww1qlqpm-ocaml4.10.0-irmin-2.3.0/lib/ocaml/4.10.0/site-lib/irmin -I /nix/store/865njgmzkbbimsbmss6rqlp35lhp1bfn-ocaml4.10.0-irmin-git-2.3.0/lib/ocaml/4.10.0/site-lib/irmin-git -I /nix/store/kbgylgqi3f0vkwlcil7jm7hsnmyc14jm-ocaml4.10.0-fmt-0.8.9/lib/ocaml/4.10.0/site-lib/fmt -I /nix/store/nz5g64nldcgx87ivr4ddllrs3shwpjls-ocaml4.10.0-lwt-5.3.0/lib/ocaml/4.10.0/site-lib/lwt -I /nix/store/z2yif5iwmmanjnravz2b5x5mkn3ywjx0-ocaml4.10.0-mirage-block-2.0.1/lib/ocaml/4.10.0/site-lib/mirage-block -intf-suffix .ml -no-alias-deps -o src/wodan-irmin/.wodan_irmin.objs/native/wodan_irmin.cmx -c -impl src/wodan-irmin/wodan_irmin.pp.ml)
File "src/wodan-irmin/wodan_irmin.ml", line 285, characters 7-19:
285 |   (V : Irmin.Type.S)
             ^^^^^^^^^^^^
Error: The module Irmin.Type is an alias for module Repr, which is missing

repr should be propagated, so I'm not quite sure what the issue here is. @ehmry any ideas?

@vbgl
Copy link
Contributor

vbgl commented Jan 29, 2021

Merged the addition of terminal_size as b4668b2.

@ehmry
Copy link
Contributor

ehmry commented Jan 29, 2021

@sternenseemann, don't know, unfortunately I don't know much of OCaml.

@sternenseemann
Copy link
Member Author

Patching in a reference to repr in the dune file fixes this issue, but there are further incompatibilities with irmin 2.3.0 breaking the build.

I'm uncertain what to do about this since we can't update wodan to current master as it depends on a fork of mirage-block which creates additional packaging problems. So even if this gets fixed on master it doesn't really help us.

I'm half-tempted to mark wodan-irmin as broken and wait this out?

@ehmry
Copy link
Contributor

ehmry commented Jan 29, 2021

So be it, wodan-irmin isn't a dependency of anything yet.

@vbgl
Copy link
Contributor

vbgl commented Jan 31, 2021

Merged the addition of progress as fdc9d99, and the addition of semaphore-compat as f31d62b.

@sternenseemann sternenseemann force-pushed the irmin-2.3.0 branch 2 times, most recently from 931e0e2 to b190757 Compare February 10, 2021 10:27
@sternenseemann sternenseemann changed the title ocamlPackages: irmin 2.2.0 → 2.3.0; git: 2.13 → 3.1.0; and related changes ocamlPackages: irmin 2.2.0 → 2.4.0; git: 2.13 → 3.2.0; and related changes Feb 10, 2021
@sternenseemann
Copy link
Member Author

I've added the updates to irmin 2.4.0, carton 0.2.0 and git 2.3.0 in here as well. As separate commits because this may help reviewing, but I can also squash the updates together if you want.

Copy link
Contributor

@vbgl vbgl left a comment

Choose a reason for hiding this comment

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

decompress won’t build with OCaml < 4.07:

File "lib/lzo.ml", line 113, characters 4-34:
Error: Unknown builtin primitive "%caml_bytes_set32u"

pkgs/development/ocaml-modules/carton/default.nix Outdated Show resolved Hide resolved
@sternenseemann
Copy link
Member Author

decompress won’t build with OCaml < 4.07:

It doesn't support those versions anymore, I've now adjusted minimumOCamlVersion accordingly. It doesn't seem to me that we need decompress for 4.06 and below.

pkgs/development/ocaml-modules/duff/default.nix Outdated Show resolved Hide resolved
pkgs/development/ocaml-modules/duff/default.nix Outdated Show resolved Hide resolved
pkgs/development/ocaml-modules/git/default.nix Outdated Show resolved Hide resolved
pkgs/development/ocaml-modules/git/default.nix Outdated Show resolved Hide resolved
pkgs/development/ocaml-modules/git/default.nix Outdated Show resolved Hide resolved
pkgs/development/ocaml-modules/irmin/git.nix Outdated Show resolved Hide resolved
pkgs/development/ocaml-modules/irmin/http.nix Outdated Show resolved Hide resolved
pkgs/development/ocaml-modules/irmin/http.nix Outdated Show resolved Hide resolved
pkgs/development/ocaml-modules/irmin/unix.nix Outdated Show resolved Hide resolved
pkgs/development/ocaml-modules/irmin/unix.nix Show resolved Hide resolved
@sternenseemann
Copy link
Member Author

Incorporated your suggestions, good finds! I've also squashed all updates of the same packages as rebasing got complicated.

@sternenseemann
Copy link
Member Author

Result of nixpkgs-review pr 110184 1

1 package marked as broken and skipped:
  • ocamlPackages.wodan-irmin
28 packages built:
  • ocamlPackages.carton
  • ocamlPackages.carton-git
  • ocamlPackages.carton-lwt
  • ocamlPackages.decompress
  • ocamlPackages.duff
  • ocamlPackages.encore
  • ocamlPackages.git
  • ocamlPackages.git-cohttp
  • ocamlPackages.git-cohttp-mirage
  • ocamlPackages.git-cohttp-unix
  • ocamlPackages.git-unix
  • ocamlPackages.imagelib
  • ocamlPackages.index
  • ocamlPackages.irmin
  • ocamlPackages.irmin-chunk
  • ocamlPackages.irmin-containers
  • ocamlPackages.irmin-fs
  • ocamlPackages.irmin-git
  • ocamlPackages.irmin-graphql
  • ocamlPackages.irmin-http
  • ocamlPackages.irmin-layers
  • ocamlPackages.irmin-mirage
  • ocamlPackages.irmin-mirage-git
  • ocamlPackages.irmin-mirage-graphql
  • ocamlPackages.irmin-pack
  • ocamlPackages.irmin-test
  • ocamlPackages.irmin-unix
  • ocamlPackages.ppx_irmin

ocamlPackages.irmin-containers: init at 2.4.0
ocamlPackages.irmin-layers: init at 2.4.0
ocamlPackages.irmin-mirage: init at 2.4.0
ocamlPackages.irmin-mirage-git: init at 2.4.0
ocamlPackages.irmin-mirage-graphql: init at 2.4.0
@vbgl vbgl merged commit c59b8ce into NixOS:master Feb 16, 2021
@sternenseemann sternenseemann deleted the irmin-2.3.0 branch February 16, 2021 10:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants