summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorVincent Laporte <Vincent.Laporte@gmail.com>2018-07-23 17:16:34 +0000
committerVincent Laporte <Vincent.Laporte@gmail.com>2018-08-22 14:58:06 +0000
commit38fa082e79751534f40fdb8f4226019258a1c176 (patch)
treea5db327932f36e3dac94d82a336db3236a517182 /pkgs
parentcf68a14a0184138ca7644a14c0724fa32e0e34a5 (diff)
downloadnixpkgs-38fa082e79751534f40fdb8f4226019258a1c176.tar
nixpkgs-38fa082e79751534f40fdb8f4226019258a1c176.tar.gz
nixpkgs-38fa082e79751534f40fdb8f4226019258a1c176.tar.bz2
nixpkgs-38fa082e79751534f40fdb8f4226019258a1c176.tar.lz
nixpkgs-38fa082e79751534f40fdb8f4226019258a1c176.tar.xz
nixpkgs-38fa082e79751534f40fdb8f4226019258a1c176.tar.zst
nixpkgs-38fa082e79751534f40fdb8f4226019258a1c176.zip
ocamlPackages.piqi: fix build with OCaml 4.06
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/ocaml-modules/piqi/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/piqi/safe-string.patch13
2 files changed, 16 insertions, 3 deletions
diff --git a/pkgs/development/ocaml-modules/piqi/default.nix b/pkgs/development/ocaml-modules/piqi/default.nix
index f8126f91d87..c7baa87a331 100644
--- a/pkgs/development/ocaml-modules/piqi/default.nix
+++ b/pkgs/development/ocaml-modules/piqi/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, findlib, camlp4, which, ulex, easy-format, ocaml_optcomp, xmlm, base64}:
+{ stdenv, fetchurl, ocaml, findlib, which, ulex, easy-format, ocaml_optcomp, xmlm, base64 }:
 
 stdenv.mkDerivation rec {
   version = "0.6.13";
@@ -9,10 +9,10 @@ stdenv.mkDerivation rec {
     sha256 = "1whqr2bb3gds2zmrzqnv8vqka9928w4lx6mi6g244kmbwb2h8d8l";
   };
 
-  buildInputs = [ocaml findlib camlp4 which ocaml_optcomp];
+  buildInputs = [ ocaml findlib which ocaml_optcomp ];
   propagatedBuildInputs = [ulex xmlm easy-format base64];
 
-  patches = [ ./no-ocamlpath-override.patch ];
+  patches = [ ./no-ocamlpath-override.patch ./safe-string.patch ];
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/ocaml-modules/piqi/safe-string.patch b/pkgs/development/ocaml-modules/piqi/safe-string.patch
new file mode 100644
index 00000000000..fbc2864d534
--- /dev/null
+++ b/pkgs/development/ocaml-modules/piqi/safe-string.patch
@@ -0,0 +1,13 @@
+--- a/piqilib/piqi_json_parser.mll
++++ b/piqilib/piqi_json_parser.mll
+@@ -189,8 +189,8 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+     let len = lexbuf.lex_curr_pos - lexbuf.lex_start_pos in
+     let s = lexbuf.lex_buffer in
+     let start = lexbuf.lex_start_pos in
+-    check_adjust_utf8 v lexbuf s start len;
+-    Buffer.add_substring v.buf s start len
++    check_adjust_utf8 v lexbuf (Bytes.unsafe_to_string s) start len;
++    Buffer.add_subbytes v.buf s start len
+ 
+   let map_lexeme f lexbuf =
+     let len = lexbuf.lex_curr_pos - lexbuf.lex_start_pos in