Hello community, here is the log from the commit of package unison for openSUSE:Factory checked in at 2020-03-09 18:33:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/unison (Old) and /work/SRC/openSUSE:Factory/.unison.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "unison" Mon Mar 9 18:33:59 2020 rev:39 rq:782743 version:2.51.2 Changes: -------- --- /work/SRC/openSUSE:Factory/unison/unison.changes 2019-11-27 13:52:59.848387261 +0100 +++ /work/SRC/openSUSE:Factory/.unison.new.26092/unison.changes 2020-03-09 18:34:04.610016629 +0100 @@ -1,0 +2,9 @@ +Sat Feb 29 20:20:20 UTC 2020 - [email protected] + +- Update to v2.51.2, via _service file +- add Fix-warnings-raised-by-OCaml-4.08.1.patch +- add Compile-without-unsafe-string.patch +- update Compatibility-with-OCaml-4.08.patch +- update Fix-for-lablgtk-2.18.6.patch + +------------------------------------------------------------------- Old: ---- unison-2.48.15.tar.xz New: ---- Compile-without-unsafe-string.patch Fix-warnings-raised-by-OCaml-4.08.1.patch unison-2.51.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ unison.spec ++++++ --- /var/tmp/diff_new_pack.mM96Qv/_old 2020-03-09 18:34:06.482017645 +0100 +++ /var/tmp/diff_new_pack.mM96Qv/_new 2020-03-09 18:34:06.506017659 +0100 @@ -17,7 +17,7 @@ Name: unison -Version: 2.48.15 +Version: 2.51.2 Release: 0 %{?ocaml_preserve_bytecode} Summary: File synchronization tool @@ -31,10 +31,13 @@ Source3: %{name}.png Patch0: Compatibility-with-OCaml-4.08.patch Patch1: Fix-for-lablgtk-2.18.6.patch +Patch2: Fix-warnings-raised-by-OCaml-4.08.1.patch +Patch3: Compile-without-unsafe-string.patch BuildRequires: gtk2-devel BuildRequires: ncurses-devel +BuildRequires: ocaml(ocaml_base_version) >= 4.07 BuildRequires: ocaml-lablgtk2-devel > 2.18.5 -BuildRequires: ocaml-rpm-macros >= 4.03.0 +BuildRequires: ocaml-rpm-macros >= 20200220 BuildRequires: update-desktop-files %description ++++++ Compatibility-with-OCaml-4.08.patch ++++++ --- /var/tmp/diff_new_pack.mM96Qv/_old 2020-03-09 18:34:06.714017772 +0100 +++ /var/tmp/diff_new_pack.mM96Qv/_new 2020-03-09 18:34:06.734017782 +0100 @@ -1,19 +1,16 @@ -From 29fa058c3127f3b47c347dcaa4a94f4c0e888308 Mon Sep 17 00:00:00 2001 From: Jaap Boender <[email protected]> Date: Thu, 21 Mar 2019 12:26:51 +0000 Subject: Compatibility with OCaml 4.08 --- - files.ml | 2 +- - recon.ml | 4 ++-- - system/system_generic.ml | 2 +- + src/files.ml | 2 +- + src/recon.ml | 4 ++-- + src/system/system_generic.ml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) -diff --git a/files.ml b/files.ml -index ba42ad5..5babf21 100644 --- a/files.ml +++ b/files.ml -@@ -722,7 +722,7 @@ let get_files_in_directory dir = +@@ -734,7 +734,7 @@ let get_files_in_directory dir = with End_of_file -> dirh.System.closedir () end; @@ -22,11 +19,9 @@ let ls dir pattern = Util.convertUnixErrorsToTransient -diff --git a/recon.ml b/recon.ml -index 5ed358d..0df2cfe 100644 --- a/recon.ml +++ b/recon.ml -@@ -651,8 +651,8 @@ let rec reconcile +@@ -661,8 +661,8 @@ let rec reconcile (* Sorts the paths so that they will be displayed in order *) let sortPaths pathUpdatesList = @@ -37,8 +32,6 @@ pathUpdatesList let rec enterPath p1 p2 t = -diff --git a/system/system_generic.ml b/system/system_generic.ml -index ed8e18f..0e28a78 100755 --- a/system/system_generic.ml +++ b/system/system_generic.ml @@ -47,7 +47,7 @@ let open_out_gen = open_out_gen ++++++ Compile-without-unsafe-string.patch ++++++ ++++ 1386 lines (skipped) ++++++ Fix-for-lablgtk-2.18.6.patch ++++++ --- /var/tmp/diff_new_pack.mM96Qv/_old 2020-03-09 18:34:06.986017919 +0100 +++ /var/tmp/diff_new_pack.mM96Qv/_new 2020-03-09 18:34:07.010017933 +0100 @@ -1,17 +1,14 @@ -From 2e7ea9481c6c3ff2ec513c39f73cfe15c0763c06 Mon Sep 17 00:00:00 2001 From: daviddavid <[email protected]> Date: Mon, 26 Feb 2018 13:36:36 +0100 Subject: Fix for lablgtk >= 2.18.6 --- - uigtk2.ml | 4 ++-- + src/uigtk2.ml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/uigtk2.ml b/uigtk2.ml -index 2ba6d79..04c4da4 100644 --- a/uigtk2.ml +++ b/uigtk2.ml -@@ -89,12 +89,12 @@ let fontItalic = lazy (Pango.Font.from_string "italic") +@@ -89,12 +89,12 @@ let fontItalic = lazy (Pango.Font.from_s (* This does not work with the current version of Lablgtk, due to a bug let icon = GdkPixbuf.from_data ~width:48 ~height:48 ~has_alpha:true ++++++ Fix-warnings-raised-by-OCaml-4.08.1.patch ++++++ From: Stephane Glondu <[email protected]> Date: Mon, 10 Feb 2020 13:10:23 +0100 Subject: Fix warnings raised by OCaml 4.08.1 --- src/bytearray.ml | 4 ++-- src/case.ml | 2 +- src/fingerprint.ml | 4 ++-- src/fsmonitor/watchercommon.ml | 12 ++++++------ src/fspath.ml | 8 ++++---- src/fswatch.ml | 12 ++++++------ src/fswatchold.ml | 2 +- src/lwt/generic/lwt_unix_impl.ml | 6 +++--- src/osx.ml | 8 ++++---- src/path.ml | 2 +- src/transfer.ml | 2 +- src/transport.ml | 4 ++-- src/ubase/prefs.ml | 2 +- src/ubase/uarg.ml | 2 +- src/ubase/util.ml | 2 +- src/uicommon.ml | 6 +++--- src/uigtk2.ml | 10 +++++----- src/unicode.ml | 6 +++--- src/uutil.ml | 2 +- 19 files changed, 48 insertions(+), 48 deletions(-) --- a/bytearray.ml +++ b/bytearray.ml @@ -36,10 +36,10 @@ let unsafe_blit_to_string a i s j l = *) external unsafe_blit_from_string : string -> int -> t -> int -> int -> unit - = "ml_blit_string_to_bigarray" "noalloc" + = "ml_blit_string_to_bigarray" [@@noalloc] external unsafe_blit_to_string : t -> int -> string -> int -> int -> unit - = "ml_blit_bigarray_to_string" "noalloc" + = "ml_blit_bigarray_to_string" [@@noalloc] let to_string a = let l = length a in --- a/case.ml +++ b/case.ml @@ -152,7 +152,7 @@ let insensitiveOps = object method mode = Insensitive method modeDesc = "Latin-1 case insensitive" method compare s s' = Util.nocase_cmp s s' - method hash s = Uutil.hash (String.lowercase s) + method hash s = Uutil.hash (String.lowercase_ascii s) method normalizePattern s = s method caseInsensitiveMatch = true method normalizeMatchedString s = s --- a/fingerprint.ml +++ b/fingerprint.ml @@ -78,8 +78,8 @@ let toString md5 = let string = Bytes.create (length * 2) in for i=0 to (length - 1) do let c1, c2 = hexaCode (md5.[i]) in - string.[2*i] <- c1; - string.[2*i + 1] <- c2; + Bytes.set string (2*i) c1; + Bytes.set string (2*i + 1) c2; done; string end --- a/fsmonitor/watchercommon.ml +++ b/fsmonitor/watchercommon.ml @@ -52,12 +52,12 @@ let quote s = for i = 0 to l - 1 do let c = s.[i] in if disallowed_char s.[i] then begin - q.[!j] <- '%'; - q.[!j + 1] <- hex.[Char.code c lsr 4]; - q.[!j + 2] <- hex.[Char.code c land 15]; + Bytes.set q !j '%'; + Bytes.set q (!j + 1) hex.[Char.code c lsr 4]; + Bytes.set q (!j + 2) hex.[Char.code c land 15]; j := !j + 3 end else begin - q.[!j] <- c; + Bytes.set q !j c; incr j end done; @@ -81,10 +81,10 @@ let unquote s = for i = 0 to l - 2 * !n - 1 do let c = s.[!j] in if c = '%' then begin - u.[i] <- Char.chr ((hex_char s.[!j + 1]) lsl 4 + hex_char s.[!j + 2]); + Bytes.set u i (Char.chr ((hex_char s.[!j + 1]) lsl 4 + hex_char s.[!j + 2])); j := !j + 3 end else begin - u.[i] <- c; + Bytes.set u i c; incr j end done; --- a/fspath.ml +++ b/fspath.ml @@ -55,7 +55,7 @@ let winRootFix d = (* least distinguishing suffixes of two fspaths, for displaying in the user *) (* interface. *) let differentSuffix (Fspath f1) (Fspath f2) = - if isRootDir f1 or isRootDir f2 then (f1,f2) + if isRootDir f1 || isRootDir f2 then (f1,f2) else begin (* We use the invariant that neither f1 nor f2 ends in slash *) let len1 = String.length f1 in @@ -94,8 +94,8 @@ let appleDouble (Fspath f) = let i = 1 + String.rindex f '/' in let res = Bytes.create (len + 2) in String.blit f 0 res 0 i; - res.[i] <- '.'; - res.[i + 1] <- '_'; + Bytes.set res i '.'; + Bytes.set res (i + 1) '_'; String.blit f i res (i + 2) (len - i); Fspath res with Not_found -> @@ -194,7 +194,7 @@ let concat fspath path = let l' = String.length p in let s = Bytes.create (l + l' + 1) in String.blit fspath 0 s 0 l; - s.[l] <- '/'; + Bytes.set s l '/'; String.blit p 0 s (l + 1) l'; Fspath s end --- a/fswatch.ml +++ b/fswatch.ml @@ -116,12 +116,12 @@ let quote s = for i = 0 to l - 1 do let c = s.[i] in if disallowed_char s.[i] then begin - q.[!j] <- '%'; - q.[!j + 1] <- hex.[Char.code c lsr 4]; - q.[!j + 2] <- hex.[Char.code c land 15]; + Bytes.set q !j '%'; + Bytes.set q (!j + 1) hex.[Char.code c lsr 4]; + Bytes.set q (!j + 2) hex.[Char.code c land 15]; j := !j + 3 end else begin - q.[!j] <- c; + Bytes.set q !j c; incr j end done; @@ -145,10 +145,10 @@ let unquote s = for i = 0 to l - 2 * !n - 1 do let c = s.[!j] in if c = '%' then begin - u.[i] <- Char.chr ((hex_char s.[!j + 1]) lsl 4 + hex_char s.[!j + 2]); + Bytes.set u i (Char.chr ((hex_char s.[!j + 1]) lsl 4 + hex_char s.[!j + 2])); j := !j + 3 end else begin - u.[i] <- c; + Bytes.set u i c; incr j end done; --- a/fswatchold.ml +++ b/fswatchold.ml @@ -60,7 +60,7 @@ let watchercmd archHash root = module StringSet= Set.Make (String) module RootMap = Map.Make (String) type watcherinfo = {file: System.fspath; - mutable ch:Pervasives.in_channel option; + mutable ch:Stdlib.in_channel option; chars: Buffer.t; mutable lines: string list} let watchers : watcherinfo RootMap.t ref = ref RootMap.empty --- a/lwt/generic/lwt_unix_impl.ml +++ b/lwt/generic/lwt_unix_impl.ml @@ -337,7 +337,7 @@ let wait_outchan oc = wait_write (Unix.d let rec input_char ic = try - Lwt.return (Pervasives.input_char ic) + Lwt.return (Stdlib.input_char ic) with Sys_blocked_io -> Lwt.bind (wait_inchan ic) (fun () -> input_char ic) @@ -346,7 +346,7 @@ let rec input_char ic = let rec input ic s ofs len = try - Lwt.return (Pervasives.input ic s ofs len) + Lwt.return (Stdlib.input ic s ofs len) with Sys_blocked_io -> Lwt.bind (wait_inchan ic) (fun () -> input ic s ofs len) @@ -381,7 +381,7 @@ let input_line ic = if c = '\n' then Lwt.return () else begin - !buf.[!pos] <- c; + Bytes.set !buf !pos c; incr pos; loop () end) --- a/osx.ml +++ b/osx.ml @@ -110,9 +110,9 @@ let getID buf ofs = let setInt4 v = let s = Bytes.create 4 in let set i = - s.[i] <- - Char.chr (Int64.to_int (Int64.logand 255L - (Int64.shift_right v (24 - 8 * i)))) in + Bytes.set s i + (Char.chr (Int64.to_int (Int64.logand 255L + (Int64.shift_right v (24 - 8 * i))))) in set 0; set 1; set 2; set 3; s @@ -224,7 +224,7 @@ let extractInfo typ info = let xflags = String.sub info 24 2 in let typeCreator = String.sub info 0 8 in (* Ignore hasBeenInited flag *) - flags.[0] <- Char.chr (Char.code flags.[0] land 0xfe); + Bytes.set flags 0 (Char.chr (Char.code flags.[0] land 0xfe)); (* If the extended flags should be ignored, clear them *) let xflags = if Char.code xflags.[0] land 0x80 <> 0 then "\000\000" else xflags --- a/path.ml +++ b/path.ml @@ -32,7 +32,7 @@ let concat p p' = if l' = 0 then p else let p'' = Bytes.create (l + l' + 1) in String.blit p 0 p'' 0 l; - p''.[l] <- pathSeparatorChar; + Bytes.set p'' l pathSeparatorChar; String.blit p' 0 p'' (l + 1) l'; p'' --- a/transfer.ml +++ b/transfer.ml @@ -547,7 +547,7 @@ struct assert (h1 >= 0 && h1 < 8); let h2 = (cs lsr 5) land (len - 1) in let mask = 1 lsl h1 in - filter.[h2] <- Char.chr (Char.code filter.[h2] lor mask) + Bytes.set filter h2 (Char.chr (Char.code filter.[h2] lor mask)) done; filter --- a/transport.ml +++ b/transport.ml @@ -183,7 +183,7 @@ let logStart () = Printf.sprintf "%s%s started propagating changes at %02d:%02d:%02d.%02d on %02d %s %04d\n" (if Prefs.read Trace.terse || Prefs.read Globals.batch then "" else "\n\n") - (String.uppercase Uutil.myNameAndVersion) + (String.uppercase_ascii Uutil.myNameAndVersion) tm.Unix.tm_hour tm.Unix.tm_min tm.Unix.tm_sec (min 99 (truncate (mod_float t 1. *. 100.))) tm.Unix.tm_mday (Util.monthname tm.Unix.tm_mon) @@ -196,7 +196,7 @@ let logFinish () = let m = Printf.sprintf "%s finished propagating changes at %02d:%02d:%02d.%02d on %02d %s %04d\n%s" - (String.uppercase Uutil.myNameAndVersion) + (String.uppercase_ascii Uutil.myNameAndVersion) tm.Unix.tm_hour tm.Unix.tm_min tm.Unix.tm_sec (min 99 (truncate (mod_float t 1. *. 100.))) tm.Unix.tm_mday (Util.monthname tm.Unix.tm_mon) --- a/ubase/prefs.ml +++ b/ubase/prefs.ml @@ -341,7 +341,7 @@ let string2bool name = function let string2int name string = try int_of_string string - with Failure "int_of_string" -> + with Failure _ -> raise (Util.Fatal (name ^ " expects an integer value, but\n" ^ string ^ " is not an integer")) --- a/ubase/uarg.ml +++ b/ubase/uarg.ml @@ -68,7 +68,7 @@ let parse speclist anonfun errmsg = incr current; while !current < l do let ss = argv.(!current) in - if String.length ss >= 1 & String.get ss 0 = '-' then begin + if String.length ss >= 1 && String.get ss 0 = '-' then begin let args = Util.splitIntoWords ss '=' in let s = Safelist.nth args 0 in let arg conv mesg = --- a/ubase/util.ml +++ b/ubase/util.ml @@ -27,7 +27,7 @@ let nocase_cmp a b = if i>=minlen then compare alen blen else let c = - compare (Char.lowercase(String.get a i)) (Char.lowercase(String.get b i)) in + compare (Char.lowercase_ascii(String.get a i)) (Char.lowercase_ascii(String.get b i)) in if c<>0 then c else loop (i+1) in loop 0 let nocase_eq a b = (0 = (nocase_cmp a b)) --- a/uicommon.ml +++ b/uicommon.ml @@ -363,9 +363,9 @@ let quote s = for i = 0 to len - 1 do match s.[i] with '*' | '?' | '[' | '{' | '}' | ',' | '\\' as c -> - buf.[!pos] <- '\\'; buf.[!pos + 1] <- c; pos := !pos + 2 + Bytes.set buf !pos '\\'; Bytes.set buf (!pos + 1) c; pos := !pos + 2 | c -> - buf.[!pos] <- c; pos := !pos + 1 + Bytes.set buf !pos c; pos := !pos + 1 done; "{" ^ String.sub buf 0 !pos ^ "}" @@ -427,7 +427,7 @@ let debug = Trace.debug "startup" (*FIX: remove when Unison version > 2.40 *) let _ = -Remote.registerRootCmd "_unicodeCaseSensitive_" (fun _ -> Lwt.return ()) +fun r x -> Remote.registerRootCmd "_unicodeCaseSensitive_" (fun _ -> Lwt.return ()) r x let supportUnicodeCaseSensitive () = if Uutil.myMajorVersion > "2.40" (* The test is correct until 2.99... *) then Lwt.return true --- a/uigtk2.ml +++ b/uigtk2.ml @@ -23,7 +23,7 @@ module Private = struct let debug = Trace.debug "ui" -let myNameCapitalized = String.capitalize Uutil.myName +let myNameCapitalized = String.capitalize_ascii Uutil.myName (********************************************************************** LOW-LEVEL STUFF @@ -844,7 +844,7 @@ let getSecondRoot () = let root = getRoot() in result := Some root; t#destroy () - with Failure "int_of_string" -> + with Failure _ -> if portE#text="" then okBox ~parent:t ~title:"Error" ~typ:`ERROR ~message:"Please enter a port" else okBox ~parent:t ~title:"Error" ~typ:`ERROR @@ -916,7 +916,7 @@ type profileInfo = {roots:string list; l (* ------ *) -let profileKeymap = Array.create 10 None +let profileKeymap = Array.make 10 None let provideProfileKey filename k profile info = try @@ -935,7 +935,7 @@ let provideProfileKey filename k profile ("Error scanning profile "^ System.fspathToPrintString filename ^":\n" ^ "Value of 'key' preference must be a single digit (0-9), " ^ "not " ^ k)) - with Failure "int_of_string" -> raise (Util.Fatal + with Failure _ -> raise (Util.Fatal ("Error scanning profile "^ System.fspathToPrintString filename ^":\n" ^ "Value of 'key' preference must be a single digit (0-9), " ^ "not " ^ k)) @@ -1956,7 +1956,7 @@ let documentPreference ~compact ~packing tbl#misc#set_sensitive false; ("", "", false) in - shortDescr#set_text (String.capitalize short); + shortDescr#set_text (String.capitalize_ascii short); insertMarkup tags longDescr (formatDoc long) (* longDescr#buffer#set_text (formatDoc long)*) --- a/unicode.ml +++ b/unicode.ml @@ -22,7 +22,7 @@ exception Invalid let fail () = raise Invalid let get s i = Char.code (String.unsafe_get s i) -let set s i v = String.unsafe_set s i (Char.unsafe_chr v) +let set s i v = Bytes.unsafe_set s i (Char.unsafe_chr v) (****) @@ -938,7 +938,7 @@ let normalize s = also with non-unicode strings. The optimization below assumes a case-insensitive comparison on ASCII characters, thus we translate the string to lowercase *) - String.lowercase s + String.lowercase_ascii s (****) @@ -1584,7 +1584,7 @@ and compose_rec s i l v = (v, i) let compose s = - try scan (0, 0) (String.copy s) 0 (String.length s) with Invalid -> s + try scan (0, 0) (Bytes.copy s) 0 (String.length s) with Invalid -> s (***) --- a/uutil.ml +++ b/uutil.ml @@ -34,7 +34,7 @@ let myNameAndVersion = myName ^ " " ^ my let hash2 x y = (17 * x + 257 * y) land 0x3FFFFFFF -external hash_param : int -> int -> 'a -> int = "caml_hash_univ_param" "noalloc" +external hash_param : int -> int -> 'a -> int = "caml_hash_univ_param" [@@noalloc] let hash x = hash_param 10 100 x ++++++ _service ++++++ --- /var/tmp/diff_new_pack.mM96Qv/_old 2020-03-09 18:34:07.366018126 +0100 +++ /var/tmp/diff_new_pack.mM96Qv/_new 2020-03-09 18:34:07.386018137 +0100 @@ -1,13 +1,14 @@ <services> <service name="tar_scm" mode="disabled"> - <param name="url">https://github.com/bcpierce00/unison.git</param> - <param name="scm">git</param> - <param name="versionformat">2.48.15</param> - <!-- v2.48.15v4 --> - <param name="revision">add890624885445558d9bf079f36dffaaa36c7b4</param> <param name="filename">unison</param> - <param name="submodules">disable</param> + <param name="revision">0176188107aa9fb82657ed9fcd92081f5a61c76a</param> + <param name="scm">git</param> <param name="subdir">src</param> + <param name="submodules">disable</param> + <param name="url">https://github.com/bcpierce00/unison.git</param> + <param name="versionformat">@PARENT_TAG@</param> + <param name="versionrewrite-pattern">[v]?([^\+]+)(.*)</param> + <param name="versionrewrite-replacement">\1</param> </service> <service name="recompress" mode="disabled"> <param name="file">*.tar</param> ++++++ unison-2.48.15.tar.xz -> unison-2.51.2.tar.xz ++++++ ++++ 31944 lines of diff (skipped)
