3
0
Fork 0
forked from mirrors/nixpkgs

Merge pull request #45481 from vbgl/ocaml-piqi-safe-string

ocamlPackages.piqi{,-ocaml}: fix build with OCaml 4.06
This commit is contained in:
xeji 2018-08-23 22:50:49 +02:00 committed by GitHub
commit 58369d714f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 4 deletions

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, piqi, camlp4 }:
{ stdenv, fetchurl, fetchpatch, ocaml, findlib, piqi, camlp4 }:
stdenv.mkDerivation rec {
version = "0.7.5";
@ -9,6 +9,11 @@ stdenv.mkDerivation rec {
sha256 = "0ngz6y8i98i5v2ma8nk6mc83pdsmf2z0ks7m3xi6clfg3zqbddrv";
};
patches = [ (fetchpatch {
url = https://github.com/alavrik/piqi-ocaml/commit/336e8fdb84e77f4105e9bbb5ab545b8729101308.patch;
sha256 = "071s4xjyr6xx95v6az2lbl2igc87n7z5jqnnbhfq2pidrxakd0la";
})];
buildInputs = [ ocaml findlib piqi camlp4 ];
createFindlibDestdir = true;

View file

@ -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;

View file

@ -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