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.ppx_deriving: 4.5 -> 5.1 and related changes #108137

Closed
wants to merge 4 commits into from

Conversation

sternenseemann
Copy link
Member

@sternenseemann sternenseemann commented Jan 1, 2021

Motivation for this change

Resolve #106907.

Update to ppx_deriving 5.1 which supports the dune 2 ppx rewriter stuff properly. Thus we need to use dune 2 for a lot of packages using ppx_deriving. We do not update to 5.2, since that requires ppxlib 0.20.0 which is not supported by a large amount of packages that depend on ppx_deriving. This minimizes the problem of multiple interface versions in $OCAMLPATH greatly.

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

cc maintainers of changed packages: @marsam @vbgl @maurer @volth @ericbmerritt

@sternenseemann
Copy link
Member Author

sternenseemann commented Jan 1, 2021

Don't know why nixpkgs-review thinks arp, mirage-nat, mirage-vnetif and tcpip are broken.

Result of nixpkgs-review pr 108137 1

4 packages marked as broken and skipped:
  • ocamlPackages.arp
  • ocamlPackages.mirage-nat
  • ocamlPackages.mirage-vnetif
  • ocamlPackages.tcpip
69 packages built:
  • beluga
  • coqPackages.coq-elpi
  • coqPackages.hierarchy-builder
  • dune-release
  • flow
  • fstar
  • jackline
  • libbap
  • liquidsoap
  • ocamlPackages.bisect_ppx
  • ocamlPackages.bitstring
  • ocamlPackages.cohttp-lwt-unix
  • ocamlPackages.conduit-lwt-unix
  • ocamlPackages.curly
  • ocamlPackages.dns-certify
  • ocamlPackages.dns-cli
  • ocamlPackages.eliom
  • ocamlPackages.elpi
  • ocamlPackages.ethernet
  • ocamlPackages.fiat-p256
  • ocamlPackages.git
  • ocamlPackages.git-http
  • ocamlPackages.git-unix
  • ocamlPackages.graphql-cohttp
  • ocamlPackages.graphql_ppx
  • ocamlPackages.hacl_x25519
  • ocamlPackages.iri
  • ocamlPackages.irmin-git
  • ocamlPackages.irmin-graphql
  • ocamlPackages.irmin-http
  • ocamlPackages.irmin-unix
  • ocamlPackages.jingoo
  • ocamlPackages.jwto
  • ocamlPackages.lwt_ppx
  • ocamlPackages.mirage-logs
  • ocamlPackages.mirage-profile
  • ocamlPackages.nocrypto
  • ocamlPackages.ocaml-monadic
  • ocamlPackages.ocsigen-start
  • ocamlPackages.ocsigen-toolkit
  • ocamlPackages.ocsigen_server
  • ocamlPackages.opium
  • ocamlPackages.pcap-format
  • ocamlPackages.pgocaml
  • ocamlPackages.pgocaml_ppx
  • ocamlPackages.phylogenetics
  • ocamlPackages.piqi
  • ocamlPackages.piqi-ocaml
  • ocamlPackages.ppx_blob
  • ocamlPackages.ppx_cstruct
  • ocamlPackages.ppx_deriving
  • ocamlPackages.ppx_deriving-4-5
  • ocamlPackages.ppx_deriving_rpc
  • ocamlPackages.ppx_deriving_yojson
  • ocamlPackages.ppx_import
  • ocamlPackages.ppx_tools_versioned
  • ocamlPackages.prof_spacetime
  • ocamlPackages.reason
  • ocamlPackages.rpclib-lwt
  • ocamlPackages.sedlex
  • ocamlPackages.sedlex_2
  • ocamlPackages.tls
  • ocamlPackages.visitors
  • ocamlPackages.xtmpl
  • python37Packages.bap
  • python38Packages.bap
  • python39Packages.bap
  • satysfi
  • stog

@SuperSandro2000
Copy link
Member

Don't know why nixpkgs-review thinks arp, mirage-nat, mirage-vnetif and tcpip are broken.

Result of nixpkgs-review pr 108137 1

4 packages marked as broken and skipped:

  • ocamlPackages.arp
  • ocamlPackages.mirage-nat
  • ocamlPackages.mirage-vnetif
  • ocamlPackages.tcpip

69 packages built:

In https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/ocaml-modules/mirage-vnetif/default.nix#L38 maintainers is wrote wrong.

error: Package ‘ocaml4.10.0-mirage-vnetif-0.5.0’ in /home/hotpi/src/nixpkgs/pkgs/development/ocaml-modules/mirage-vnetif/default.nix:35 has an invalid meta attrset:
        - key 'mantainers' is unrecognized; expected one of:
       ['available', 'badPlatforms', 'branch', 'broken', 'changelog', 'description', 'downloadPage', 'downloadURLRegexp', 'executables', 'homepage', 'hydraPlatforms', 'insecure', 'isBuildPythonPackage', 'isFcitxEngine', 'isGutenprint', 'isIbusEngine', 'knownVulnerabilities', 'license', 'longDescription', 'maintainers', 'name', 'outputsToInstall', 'platforms', 'position', 'priority', 'repositories', 'schedulingPriority', 'tag', 'tests', 'timeout', 'unfree', 'unsupported', 'updateWalker', 'version'], refusing to evaluate.


(use '--show-trace' to show detailed location information`)

@sternenseemann
Copy link
Member Author

Result of nixpkgs-review pr 108137 1

73 packages built:
  • beluga
  • coqPackages.coq-elpi
  • coqPackages.hierarchy-builder
  • dune-release
  • flow
  • fstar
  • jackline
  • libbap
  • liquidsoap
  • ocamlPackages.arp
  • ocamlPackages.bisect_ppx
  • ocamlPackages.bitstring
  • ocamlPackages.cohttp-lwt-unix
  • ocamlPackages.conduit-lwt-unix
  • ocamlPackages.curly
  • ocamlPackages.dns-certify
  • ocamlPackages.dns-cli
  • ocamlPackages.eliom
  • ocamlPackages.elpi
  • ocamlPackages.ethernet
  • ocamlPackages.fiat-p256
  • ocamlPackages.git
  • ocamlPackages.git-http
  • ocamlPackages.git-unix
  • ocamlPackages.graphql-cohttp
  • ocamlPackages.graphql_ppx
  • ocamlPackages.hacl_x25519
  • ocamlPackages.iri
  • ocamlPackages.irmin-git
  • ocamlPackages.irmin-graphql
  • ocamlPackages.irmin-http
  • ocamlPackages.irmin-unix
  • ocamlPackages.jingoo
  • ocamlPackages.jwto
  • ocamlPackages.lwt_ppx
  • ocamlPackages.mirage-logs
  • ocamlPackages.mirage-nat
  • ocamlPackages.mirage-profile
  • ocamlPackages.mirage-vnetif
  • ocamlPackages.nocrypto
  • ocamlPackages.ocaml-monadic
  • ocamlPackages.ocsigen-start
  • ocamlPackages.ocsigen-toolkit
  • ocamlPackages.ocsigen_server
  • ocamlPackages.opium
  • ocamlPackages.pcap-format
  • ocamlPackages.pgocaml
  • ocamlPackages.pgocaml_ppx
  • ocamlPackages.phylogenetics
  • ocamlPackages.piqi
  • ocamlPackages.piqi-ocaml
  • ocamlPackages.ppx_blob
  • ocamlPackages.ppx_cstruct
  • ocamlPackages.ppx_deriving
  • ocamlPackages.ppx_deriving-4-5
  • ocamlPackages.ppx_deriving_rpc
  • ocamlPackages.ppx_deriving_yojson
  • ocamlPackages.ppx_import
  • ocamlPackages.ppx_tools_versioned
  • ocamlPackages.prof_spacetime
  • ocamlPackages.reason
  • ocamlPackages.rpclib-lwt
  • ocamlPackages.sedlex
  • ocamlPackages.sedlex_2
  • ocamlPackages.tcpip
  • ocamlPackages.tls
  • ocamlPackages.visitors
  • ocamlPackages.xtmpl
  • python37Packages.bap
  • python38Packages.bap
  • python39Packages.bap
  • satysfi
  • stog

@vbgl
Copy link
Contributor

vbgl commented Jan 2, 2021

The update of sedlex_2 has been merged as 1c52824.
The change in ocaml-monadic has been merged as fc20aed.

@vbgl
Copy link
Contributor

vbgl commented Jan 4, 2021

The update of ppx_blob has been merged as 174267e.
The change to ppx_import has been merged as a080e9b.

@vbgl
Copy link
Contributor

vbgl commented Jan 7, 2021

The change to ppx_tools_versioned has been merged as a8be20b.
The changes to bisect_ppx, bitstring, and lwt_ppx are no longer needed (due to #108026, #108301, and #108373).

@sternenseemann
Copy link
Member Author

sternenseemann commented Jan 9, 2021

Build failure due to #96090

Result of nixpkgs-review pr 108137 1

1 package marked as broken and skipped:
  • ocamlPackages.ppx_deriving_protobuf
1 package failed to build:
  • ocamlPackages.irmin-unix
42 packages built:
  • coqPackages.coq-elpi
  • coqPackages.hierarchy-builder
  • dune-release
  • flow
  • fstar
  • jackline
  • ocamlPackages.cohttp-lwt-unix
  • ocamlPackages.conduit-lwt-unix
  • ocamlPackages.curly
  • ocamlPackages.dns-certify
  • ocamlPackages.dns-cli
  • ocamlPackages.eliom
  • ocamlPackages.elpi
  • ocamlPackages.fiat-p256
  • ocamlPackages.git
  • ocamlPackages.git-http
  • ocamlPackages.git-unix
  • ocamlPackages.graphql-cohttp
  • ocamlPackages.hacl_x25519
  • ocamlPackages.irmin-git
  • ocamlPackages.irmin-graphql
  • ocamlPackages.irmin-http
  • ocamlPackages.jingoo
  • ocamlPackages.jwto
  • ocamlPackages.mirage-nat
  • ocamlPackages.nocrypto
  • ocamlPackages.ocsigen-start
  • ocamlPackages.ocsigen-toolkit
  • ocamlPackages.ocsigen_server
  • ocamlPackages.opium
  • ocamlPackages.pgocaml
  • ocamlPackages.pgocaml_ppx
  • ocamlPackages.phylogenetics
  • ocamlPackages.ppx_deriving
  • ocamlPackages.ppx_deriving_rpc
  • ocamlPackages.ppx_deriving_yojson
  • ocamlPackages.ppx_import
  • ocamlPackages.prof_spacetime
  • ocamlPackages.rpclib-lwt
  • ocamlPackages.tls
  • ocamlPackages.visitors
  • satysfi

Upgrade to an unstable version (which has a changelog, kind of a semi
release?) which is compatible with ppx_deriving >= 5.0.
ppx_deriving_protobuf: mark as broken due to incompatibility with ppx_deriving >= 5.0
@vbgl vbgl closed this in 8f13029 Jan 31, 2021
@sternenseemann sternenseemann deleted the ppx_deriving-5.1 branch January 31, 2021 13:52
@sternenseemann sternenseemann restored the ppx_deriving-5.1 branch July 24, 2021 13:38
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.

ppx_deriving incompatible with dune 2
3 participants