head	1.2;
access;
symbols
	pkgsrc-2022Q2:1.1.0.36
	pkgsrc-2022Q2-base:1.1
	pkgsrc-2022Q1:1.1.0.34
	pkgsrc-2022Q1-base:1.1
	pkgsrc-2021Q4:1.1.0.32
	pkgsrc-2021Q4-base:1.1
	pkgsrc-2021Q3:1.1.0.30
	pkgsrc-2021Q3-base:1.1
	pkgsrc-2021Q2:1.1.0.28
	pkgsrc-2021Q2-base:1.1
	pkgsrc-2021Q1:1.1.0.26
	pkgsrc-2021Q1-base:1.1
	pkgsrc-2020Q4:1.1.0.24
	pkgsrc-2020Q4-base:1.1
	pkgsrc-2020Q3:1.1.0.22
	pkgsrc-2020Q3-base:1.1
	pkgsrc-2020Q2:1.1.0.20
	pkgsrc-2020Q2-base:1.1
	pkgsrc-2020Q1:1.1.0.16
	pkgsrc-2020Q1-base:1.1
	pkgsrc-2019Q4:1.1.0.18
	pkgsrc-2019Q4-base:1.1
	pkgsrc-2019Q3:1.1.0.14
	pkgsrc-2019Q3-base:1.1
	pkgsrc-2019Q2:1.1.0.12
	pkgsrc-2019Q2-base:1.1
	pkgsrc-2019Q1:1.1.0.10
	pkgsrc-2019Q1-base:1.1
	pkgsrc-2018Q4:1.1.0.8
	pkgsrc-2018Q4-base:1.1
	pkgsrc-2018Q3:1.1.0.6
	pkgsrc-2018Q3-base:1.1
	pkgsrc-2018Q2:1.1.0.4
	pkgsrc-2018Q2-base:1.1
	pkgsrc-2018Q1:1.1.0.2
	pkgsrc-2018Q1-base:1.1;
locks; strict;
comment	@# @;


1.2
date	2022.06.29.07.54.40;	author wiz;	state dead;
branches;
next	1.1;
commitid	mi8IBwWu4raDmUJD;

1.1
date	2018.03.14.14.05.37;	author dholland;	state Exp;
branches;
next	;
commitid	Krp8pmGYK0HVOquA;


desc
@@


1.2
log
@camlp4: remove

camlp4 is an outdated way to build packages with caml and does not work
with pkgsrc ocaml versions for more than a year.

Remove camlp4 and all packages using it.

Ok jaapb@@
@
text
@$NetBSD: patch-src_utils_cdk_tar.mlcpp,v 1.1 2018/03/14 14:05:37 dholland Exp $

Fix build with ocaml 4.06

--- src/utils/cdk/tar.mlcpp.orig	2010-12-19 10:10:24.000000000 +0000
+++ src/utils/cdk/tar.mlcpp
@@@@ -169,7 +169,7 @@@@ let align_at_header t =
     | None -> ()
     | Some h ->
 	let entry_size = ((h.t_size/blocksize) + 1) * blocksize
-	and buf = String.create blocksize
+	and buf = Bytes.create blocksize
 	and discarded = ref 0 in
 	  while !discarded < entry_size do
 	    let read = t.chan#input buf 0 blocksize in
@@@@ -177,7 +177,7 @@@@ let align_at_header t =
 	  done;
 	  t.last_header <- None
 
-let empty_block = String.make blocksize '\000'
+let empty_block = Bytes.make blocksize '\000'
 
 let compute_chksum buf = 
   let chksum = ref 256 in (* 256 is the sum of 8 ' ' characters for the chksum field *)
@@@@ -206,8 +206,9 @@@@ let read_oldgnu_header header =
   }
 
 let read_gnu_header t =
-  let buf = String.create blocksize in
+  let buf = Bytes.create blocksize in
     t.chan#really_input buf 0 blocksize;
+    let buf = Bytes.to_string buf in
     { t_atime = extract_int32 buf 0 12;
       t_ctime = extract_int32 buf 12 12;
       t_offset = extract_int32 buf 24 12;
@@@@ -216,9 +217,10 @@@@ let read_gnu_header t =
 
 let read_header t =
   align_at_header t;
-  let buf = String.create blocksize in
+  let buf = Bytes.create blocksize in
     t.chan#really_input buf 0 blocksize;
     if buf = empty_block then raise End_of_file;
+    let buf = Bytes.to_string buf in
     let head1 = { t_name = c_string buf 0;
 		 t_mode = extract_num buf 100 8;
 		 t_uid = extract_num buf 108 8;
@@@@ -264,14 +266,14 @@@@ let read_body t =
   let header = get_header t in
     t.last_header <- None;
     if header.t_size = 0 then "" 
-    else let buf = String.create header.t_size in
+    else let buf = Bytes.create header.t_size in
       t.chan#really_input buf 0 header.t_size;
       let align = blocksize - (header.t_size mod blocksize) in
 	if align <> blocksize then begin
-	  let leftover = String.create blocksize in	    
+	  let leftover = Bytes.create blocksize in	    
 	    t.chan#really_input leftover 0 align
 	end;
-	buf
+	Bytes.to_string buf
 
 let read_entry t =
   let head = read_header t in
@@@@ -291,7 +293,7 @@@@ end
 
 #ifdef USE_BZIP2
 class bzout_chan o = object
-  method output str pos len = Bzip2.output o str pos len
+  method output str pos len = Bzip2.output o (Bytes.to_string str) pos len
   method flush () = Bzip2.flush o
   method close () = Bzip2.close_out o
 end
@@@@ -390,14 +392,14 @@@@ let write_gnu_header t buf =
   
 let output t head body =
   let size = String.length body in
-  let buf = String.copy empty_block in
+  let buf = Bytes.copy empty_block in
     write_str buf 0 100 head.t_name;
     write_num8 buf 100 head.t_mode;
     write_num8 buf 108 head.t_uid;
     write_num8 buf 116 head.t_gid;
     write_num12 buf 124 size;
     write_int32 buf 136 head.t_mtime;
-    buf.[156] <- typeflag_to_char head.t_typeflag;
+    Bytes.set buf 156 (typeflag_to_char head.t_typeflag);
     write_str buf 157 100 head.t_linkname;
     write_magic buf 257 head.t_format;
     write_str buf 265 32 head.t_uname;
@@@@ -407,16 +409,16 @@@@ let output t head body =
     write_str buf 345 155 head.t_prefix;
     if head.t_format = OLDGNU_FORMAT then
       write_oldgnu_header head buf;
-    let chksum = compute_chksum buf in
+    let chksum = compute_chksum (Bytes.to_string buf) in
       write_padded_num buf 148 chksum;
       t.ochan#output buf 0 blocksize;
-      if head.t_format = GNU_FORMAT && isdigit buf.[156] then begin
-	let buf2 = String.copy empty_block in
+      if head.t_format = GNU_FORMAT && isdigit (Bytes.get buf 156) then begin
+	let buf2 = Bytes.copy empty_block in
 	  write_gnu_header head buf2;
 	  t.ochan#output buf2 0 blocksize
       end;
       if size > 0 then begin
-    t.ochan#output body 0 size;
+          t.ochan#output (Bytes.of_string body) 0 size;
 	  let align = blocksize - (size mod blocksize) in
 	    if align > 0 && align < blocksize then 
 	      t.ochan#output empty_block 0 align
@


1.1
log
@Partial build fixes for ocaml 4.06.

not at all clear this thing is worth the trouble...
@
text
@d1 1
a1 1
$NetBSD$
@

