From a01cad0d0f38269b544ab21c0fbfd8df2da072f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Wed, 26 Jan 2022 09:16:24 -0300 Subject: [PATCH] ocamlPackages.ppx_import: 1.8.0 -> 1.9.1 (#156399) * ocamlPackages.ppx_import: 1.8.0 -> 1.9.1 * coqPackages.serapi: fix compilation with ppx_import-1.9.1 --- .../coq-modules/serapi/default.nix | 17 +--------- .../ocaml-modules/ppx_import/default.nix | 33 ++++++++++++++----- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/pkgs/development/coq-modules/serapi/default.nix b/pkgs/development/coq-modules/serapi/default.nix index 383151a1cb5..5820f98fa0f 100644 --- a/pkgs/development/coq-modules/serapi/default.nix +++ b/pkgs/development/coq-modules/serapi/default.nix @@ -1,19 +1,6 @@ { lib, fetchzip, mkCoqDerivation, coq, version ? null }: let - ocamlPackages = - coq.ocamlPackages.overrideScope' - (self: super: { - ppxlib = super.ppxlib.override { version = "0.15.0"; }; - # the following does not work - ppx_sexp_conv = super.ppx_sexp_conv.overrideAttrs (_: { - src = fetchzip { - url = "https://github.com/janestreet/ppx_sexp_conv/archive/v0.14.1.tar.gz"; - sha256 = "04bx5id99clrgvkg122nx03zig1m7igg75piphhyx04w33shgkz2"; - }; - }); - }); - release = { "8.14.0+0.14.0".sha256 = "sha256:1kh80yb791yl771qbqkvwhbhydfii23a7lql0jgifvllm2k8hd8d"; "8.14+rc1+0.14.0".sha256 = "1w7d7anvcfx8vz51mnrf1jkw6rlpzjkjlr06avf58wlhymww7pja"; @@ -29,8 +16,6 @@ in inherit version release; defaultVersion = with versions; - if isGe "4.12" coq.ocamlPackages.ocaml.version then null - else switch coq.version [ { case = isEq "8.14"; out = "8.14.0+0.14.0"; } { case = isEq "8.13"; out = "8.13.0+0.13.0"; } @@ -42,7 +27,7 @@ in useDune2 = true; propagatedBuildInputs = - with ocamlPackages; [ + with coq.ocamlPackages; [ cmdliner findlib # run time dependency of SerAPI ppx_deriving diff --git a/pkgs/development/ocaml-modules/ppx_import/default.nix b/pkgs/development/ocaml-modules/ppx_import/default.nix index 6588d6db7f4..192e7258c4c 100644 --- a/pkgs/development/ocaml-modules/ppx_import/default.nix +++ b/pkgs/development/ocaml-modules/ppx_import/default.nix @@ -1,27 +1,42 @@ -{ lib, fetchurl, buildDunePackage -, ppx_tools_versioned -, ocaml-migrate-parsetree +{ lib +, fetchurl +, buildDunePackage +, ounit +, ppx_deriving +, ppx_sexp_conv +, ppxlib }: +lib.throwIfNot (lib.versionAtLeast ppxlib.version "0.24.0") + "ppx_import is not available with ppxlib-${ppxlib.version}" + buildDunePackage rec { pname = "ppx_import"; - version = "1.8.0"; + version = "1.9.1"; useDune2 = true; - minimumOCamlVersion = "4.04"; + minimalOCamlVersion = "4.05"; src = fetchurl { - url = "https://github.com/ocaml-ppx/ppx_import/releases/download/v${version}/ppx_import-${version}.tbz"; - sha256 = "0zqcj70yyp4ik4jc6jz3qs2xhb94vxc6yq9ij0d5cyak28klc3gv"; + url = "https://github.com/ocaml-ppx/ppx_import/releases/download/${version}/ppx_import-${version}.tbz"; + sha256 = "1li1f9b1i0yhjy655k74hgzhd05palz726zjbhwcy3iqxvi9id6i"; }; propagatedBuildInputs = [ - ppx_tools_versioned ocaml-migrate-parsetree + ppxlib ]; + checkInputs = [ + ounit + ppx_deriving + ppx_sexp_conv + ]; + + doCheck = true; + meta = { - description = "A syntax extension that allows to pull in types or signatures from other compiled interface files"; + description = "A syntax extension for importing declarations from interface files"; license = lib.licenses.mit; homepage = "https://github.com/ocaml-ppx/ppx_import"; };