From d52a9683d1384e07d7e27d8d4463c01673b81d40 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Fri, 5 Apr 2024 14:27:16 +0200 Subject: [PATCH] ocamlPackages.ppx_cstubs: fix build with ppxlib > 0.30 --- .../ocaml-modules/ppx_cstubs/default.nix | 4 ++-- .../ocaml-modules/ppx_cstubs/ppxlib.patch | 22 +++++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/ocaml-modules/ppx_cstubs/ppxlib.patch diff --git a/pkgs/development/ocaml-modules/ppx_cstubs/default.nix b/pkgs/development/ocaml-modules/ppx_cstubs/default.nix index 1b5e96a2d8de..7cf1a0d869e3 100644 --- a/pkgs/development/ocaml-modules/ppx_cstubs/default.nix +++ b/pkgs/development/ocaml-modules/ppx_cstubs/default.nix @@ -18,8 +18,6 @@ buildDunePackage rec { minimalOCamlVersion = "4.08"; - duneVersion = "3"; - src = fetchFromGitHub { owner = "fdopen"; repo = "ppx_cstubs"; @@ -27,6 +25,8 @@ buildDunePackage rec { hash = "sha256-qMmwRWCIfNyhCQYPKLiufnb57sTR3P+WInOqtPDywFs="; }; + patches = [ ./ppxlib.patch ]; + nativeBuildInputs = [ cppo ]; buildInputs = [ diff --git a/pkgs/development/ocaml-modules/ppx_cstubs/ppxlib.patch b/pkgs/development/ocaml-modules/ppx_cstubs/ppxlib.patch new file mode 100644 index 000000000000..14cc08991e70 --- /dev/null +++ b/pkgs/development/ocaml-modules/ppx_cstubs/ppxlib.patch @@ -0,0 +1,22 @@ +diff --git a/src/internal/ppxc__script_real.ml b/src/internal/ppxc__script_real.ml +index 392f2a5..d950fc9 100644 +--- a/src/internal/ppxc__script_real.ml ++++ b/src/internal/ppxc__script_real.ml +@@ -168,7 +168,7 @@ module C_content_make (E : Empty) = struct + if cnt = 0 then None else Some (String.concat "\n\n" l) + end + +-module C_content_phase0 = C_content_make () ++module C_content_phase0 = C_content_make (struct end) + + module type Const_common_s = sig + include module type of C_content_phase0 +@@ -300,7 +300,7 @@ module Const_phase0 = struct + else C_content_phase0.add_extract_source s2 loc exn f + end + +-module C_content = C_content_make () ++module C_content = C_content_make (struct end) + + module Const = struct + include Const_common (C_content)