diff options
author | wiz <wiz> | 2012-10-13 09:05:11 +0000 |
---|---|---|
committer | wiz <wiz> | 2012-10-13 09:05:11 +0000 |
commit | eb38c326d6e4802c6d478ba170be3d4133e1ebd6 (patch) | |
tree | e4006e705791f60d0901c59a06d764681dc84988 /net/unison | |
parent | 028e602460d4b5b5a994d994defd5a875c1d79d8 (diff) | |
download | pkgsrc-eb38c326d6e4802c6d478ba170be3d4133e1ebd6.tar.gz |
Fix unison syncing between copies built with ocaml3 and ocaml4.
From upstream SVN (to be released as 2.40.69 some day).
r511 | vouillon | 2012-09-17 16:09:03 +0200 (Mon, 17 Sep 2012) | 3 lines
* Use hash function from OCaml 3.x for comparing archives, even when
compiled with OCaml 4.x
Bump PKGREVISION.
Diffstat (limited to 'net/unison')
-rw-r--r-- | net/unison/Makefile | 4 | ||||
-rw-r--r-- | net/unison/distinfo | 13 | ||||
-rw-r--r-- | net/unison/patches/patch-Makefile.OCaml | 11 | ||||
-rw-r--r-- | net/unison/patches/patch-case.ml | 45 | ||||
-rw-r--r-- | net/unison/patches/patch-fspath.ml | 14 | ||||
-rw-r--r-- | net/unison/patches/patch-fspath.mli | 15 | ||||
-rw-r--r-- | net/unison/patches/patch-path.ml | 20 | ||||
-rw-r--r-- | net/unison/patches/patch-path.mli | 18 | ||||
-rw-r--r-- | net/unison/patches/patch-props.ml | 27 | ||||
-rw-r--r-- | net/unison/patches/patch-update.ml | 21 | ||||
-rw-r--r-- | net/unison/patches/patch-uutil.ml | 20 | ||||
-rw-r--r-- | net/unison/patches/patch-uutil.mli | 18 |
12 files changed, 221 insertions, 5 deletions
diff --git a/net/unison/Makefile b/net/unison/Makefile index 3d01c9b331a..0327b746ac4 100644 --- a/net/unison/Makefile +++ b/net/unison/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.62 2012/10/08 23:02:18 adam Exp $ +# $NetBSD: Makefile,v 1.63 2012/10/13 09:05:11 wiz Exp $ DISTNAME= unison-2.40.63 -PKGREVISION= 16 +PKGREVISION= 17 CATEGORIES= net MASTER_SITES= http://www.seas.upenn.edu/~bcpierce/unison/download/releases/stable/ diff --git a/net/unison/distinfo b/net/unison/distinfo index eaa0463cfd3..3b1255f1972 100644 --- a/net/unison/distinfo +++ b/net/unison/distinfo @@ -1,7 +1,16 @@ -$NetBSD: distinfo,v 1.19 2012/09/14 19:14:53 jaapb Exp $ +$NetBSD: distinfo,v 1.20 2012/10/13 09:05:11 wiz Exp $ SHA1 (unison-2.40.63.tar.gz) = 645e70bc37a5d4e8e9ccb7bad065fc579b18cf75 RMD160 (unison-2.40.63.tar.gz) = 5dede9ea2f1213d4a22ed1914da7bfb1921f9993 Size (unison-2.40.63.tar.gz) = 2601791 bytes -SHA1 (patch-Makefile.OCaml) = 51026fc6c6df90e6619673b824cba218adc751f4 +SHA1 (patch-Makefile.OCaml) = 0fa4cc6ecec2465bdf3f64db198a50ed015fd8be SHA1 (patch-aa) = dd1a001fb7071cd9141615b42a692e6d1d812081 +SHA1 (patch-case.ml) = 6ddf5d68f6c69fea73f870bfcef4ffc539478acd +SHA1 (patch-fspath.ml) = ccd41590e93145cc61ca0bb1cc0a0ba6329927a4 +SHA1 (patch-fspath.mli) = 9c2532e002985f985ed904022e514a57a33666d5 +SHA1 (patch-path.ml) = a2554a58acfd148204744ea8831440f59a99be98 +SHA1 (patch-path.mli) = e288c1e7db23862fb7293b47ea6cb8806ca612a5 +SHA1 (patch-props.ml) = c829ccb24574be1aebc4bcf6f5ef4e5c136fa9c4 +SHA1 (patch-update.ml) = aef7b5ddab4ba36ed089f8a5b57b212e433f6b3c +SHA1 (patch-uutil.ml) = 6b5efc5dc46abe8886029e900dca0b0237ef777d +SHA1 (patch-uutil.mli) = cf1df58af75d47091d7d9950158c82980dedd1f2 diff --git a/net/unison/patches/patch-Makefile.OCaml b/net/unison/patches/patch-Makefile.OCaml index 6035dfa24dd..1aa8a1bd29b 100644 --- a/net/unison/patches/patch-Makefile.OCaml +++ b/net/unison/patches/patch-Makefile.OCaml @@ -1,4 +1,4 @@ -$NetBSD: patch-Makefile.OCaml,v 1.2 2012/09/14 19:14:53 jaapb Exp $ +$NetBSD: patch-Makefile.OCaml,v 1.3 2012/10/13 09:05:11 wiz Exp $ Correct lablgtk paths for 2.16, and use ocamlopt.opt for compilation --- Makefile.OCaml.orig 2011-04-16 20:35:38.000000000 +0000 @@ -14,6 +14,15 @@ Correct lablgtk paths for 2.16, and use ocamlopt.opt for compilation ##BCP [3/2007]: Removed temporarily, since the OSX UI is not working well ## at the moment and we don't want to confuse people by building it by default ifeq ($(OSARCH),osx) +@@ -217,7 +217,7 @@ OCAMLOBJS += \ + lwt/pqueue.cmo lwt/lwt.cmo lwt/lwt_util.cmo \ + lwt/$(SYSTEM)/lwt_unix_impl.cmo lwt/lwt_unix.cmo \ + \ +- case.cmo pred.cmo uutil.cmo \ ++ uutil.cmo case.cmo pred.cmo \ + fileutil.cmo name.cmo path.cmo fspath.cmo fs.cmo fingerprint.cmo \ + abort.cmo osx.cmo external.cmo \ + props.cmo fileinfo.cmo os.cmo lock.cmo clroot.cmo common.cmo \ @@ -285,14 +285,14 @@ endif # Gtk GUI diff --git a/net/unison/patches/patch-case.ml b/net/unison/patches/patch-case.ml new file mode 100644 index 00000000000..b47117b31c4 --- /dev/null +++ b/net/unison/patches/patch-case.ml @@ -0,0 +1,45 @@ +$NetBSD: patch-case.ml,v 1.1 2012/10/13 09:05:11 wiz Exp $ + +r511 | vouillon | 2012-09-17 16:09:03 +0200 (Mon, 17 Sep 2012) | 3 lines + +* Use hash function from OCaml 3.x for comparing archives, even when + compiled with OCaml 4.x + +--- case.ml.orig 2010-04-15 17:29:31.000000000 +0000 ++++ case.ml +@@ -140,7 +140,7 @@ let sensitiveOps = object + method mode = Sensitive + method modeDesc = "case sensitive" + method compare s s' = compare (s : string) s' +- method hash s = Hashtbl.hash s ++ method hash s = Uutil.hash s + method normalizePattern s = s + method caseInsensitiveMatch = false + method normalizeMatchedString s = s +@@ -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 = Hashtbl.hash (String.lowercase s) ++ method hash s = Uutil.hash (String.lowercase s) + method normalizePattern s = s + method caseInsensitiveMatch = true + method normalizeMatchedString s = s +@@ -164,7 +164,7 @@ let unicodeSensitiveOps = object + method mode = UnicodeSensitive + method modeDesc = "Unicode case sensitive" + method compare s s' = Unicode.case_sensitive_compare s s' +- method hash s = Hashtbl.hash (Unicode.decompose s) ++ method hash s = Uutil.hash (Unicode.decompose s) + method normalizePattern p = Unicode.decompose p + method caseInsensitiveMatch = false + method normalizeMatchedString s = Unicode.decompose s +@@ -176,7 +176,7 @@ let unicodeInsensitiveOps = object + method mode = UnicodeInsensitive + method modeDesc = "Unicode case insensitive" + method compare s s' = Unicode.case_insensitive_compare s s' +- method hash s = Hashtbl.hash (Unicode.normalize s) ++ method hash s = Uutil.hash (Unicode.normalize s) + method normalizePattern p = Unicode.normalize p + method caseInsensitiveMatch = false + method normalizeMatchedString s = Unicode.normalize s diff --git a/net/unison/patches/patch-fspath.ml b/net/unison/patches/patch-fspath.ml new file mode 100644 index 00000000000..afb1221b481 --- /dev/null +++ b/net/unison/patches/patch-fspath.ml @@ -0,0 +1,14 @@ +$NetBSD: patch-fspath.ml,v 1.1 2012/10/13 09:05:11 wiz Exp $ + +r511 | vouillon | 2012-09-17 16:09:03 +0200 (Mon, 17 Sep 2012) | 3 lines + +* Use hash function from OCaml 3.x for comparing archives, even when + compiled with OCaml 4.x + +--- fspath.ml.orig 2010-04-15 17:29:31.000000000 +0000 ++++ fspath.ml +@@ -335,4 +335,3 @@ let findWorkingDir fspath path = + + let quotes (Fspath f) = Uutil.quotes f + let compare (Fspath f1) (Fspath f2) = compare f1 f2 +-let hash (Fspath f) = Hashtbl.hash f diff --git a/net/unison/patches/patch-fspath.mli b/net/unison/patches/patch-fspath.mli new file mode 100644 index 00000000000..8cc4696a5da --- /dev/null +++ b/net/unison/patches/patch-fspath.mli @@ -0,0 +1,15 @@ +$NetBSD: patch-fspath.mli,v 1.1 2012/10/13 09:05:11 wiz Exp $ + +r511 | vouillon | 2012-09-17 16:09:03 +0200 (Mon, 17 Sep 2012) | 3 lines + +* Use hash function from OCaml 3.x for comparing archives, even when + compiled with OCaml 4.x + +--- fspath.mli.orig 2010-04-15 17:29:31.000000000 +0000 ++++ fspath.mli +@@ -33,5 +33,3 @@ val quotes : t -> string + + (* CASE-SENSITIVE comparison between fspaths *) + val compare : t -> t -> int +-(* CASE-SENSITIVE hash of a fspath *) +-val hash : t -> int diff --git a/net/unison/patches/patch-path.ml b/net/unison/patches/patch-path.ml new file mode 100644 index 00000000000..e32abd9dfea --- /dev/null +++ b/net/unison/patches/patch-path.ml @@ -0,0 +1,20 @@ +$NetBSD: patch-path.ml,v 1.1 2012/10/13 09:05:11 wiz Exp $ + +r511 | vouillon | 2012-09-17 16:09:03 +0200 (Mon, 17 Sep 2012) | 3 lines + +* Use hash function from OCaml 3.x for comparing archives, even when + compiled with OCaml 4.x + +--- path.ml.orig 2010-04-15 17:29:31.000000000 +0000 ++++ path.ml +@@ -202,10 +202,6 @@ let addPrefixToFinalName path prefix = + assert (not (isEmpty path)); + prefix ^ path + +-(* No need to perform case normalization on local paths *) +-let hash p = Hashtbl.hash p +-let equal (p1 : local) (p2 : local) = p1 = p2 +- + (* Pref controlling whether symlinks are followed. *) + let followPred = Pred.create ~advanced:true "follow" + ("Including the preference \\texttt{-follow \\ARG{pathspec}} causes Unison to \ diff --git a/net/unison/patches/patch-path.mli b/net/unison/patches/patch-path.mli new file mode 100644 index 00000000000..83618305889 --- /dev/null +++ b/net/unison/patches/patch-path.mli @@ -0,0 +1,18 @@ +$NetBSD: patch-path.mli,v 1.1 2012/10/13 09:05:12 wiz Exp $ + +r511 | vouillon | 2012-09-17 16:09:03 +0200 (Mon, 17 Sep 2012) | 3 lines + +* Use hash function from OCaml 3.x for comparing archives, even when + compiled with OCaml 4.x + +--- path.mli.orig 2010-04-15 17:29:31.000000000 +0000 ++++ path.mli +@@ -31,8 +31,6 @@ val addSuffixToFinalName : local -> stri + val addPrefixToFinalName : local -> string -> local + + val compare : t -> t -> int +-val equal : local -> local -> bool +-val hash : local -> int + + val followLink : local -> bool + val followPred : Pred.t diff --git a/net/unison/patches/patch-props.ml b/net/unison/patches/patch-props.ml new file mode 100644 index 00000000000..fdf4937b071 --- /dev/null +++ b/net/unison/patches/patch-props.ml @@ -0,0 +1,27 @@ +$NetBSD: patch-props.ml,v 1.1 2012/10/13 09:05:12 wiz Exp $ + +r511 | vouillon | 2012-09-17 16:09:03 +0200 (Mon, 17 Sep 2012) | 3 lines + +* Use hash function from OCaml 3.x for comparing archives, even when + compiled with OCaml 4.x + +--- props.ml.orig 2010-04-15 17:29:31.000000000 +0000 ++++ props.ml +@@ -305,7 +305,7 @@ let hash id h = + (match id with + IdIgnored -> -1 + | IdNumeric i -> i +- | IdNamed nm -> Hashtbl.hash nm) ++ | IdNamed nm -> Uutil.hash nm) + h + + let similar id id' = +@@ -609,7 +609,7 @@ type t = string option + + let dummy = None + +-let hash t h = Uutil.hash2 (Hashtbl.hash t) h ++let hash t h = Uutil.hash2 (Uutil.hash t) h + + let similar t t' = + not (Prefs.read Osx.rsrc) || t = t' diff --git a/net/unison/patches/patch-update.ml b/net/unison/patches/patch-update.ml new file mode 100644 index 00000000000..dd74d04b1cd --- /dev/null +++ b/net/unison/patches/patch-update.ml @@ -0,0 +1,21 @@ +$NetBSD: patch-update.ml,v 1.1 2012/10/13 09:05:12 wiz Exp $ + +r511 | vouillon | 2012-09-17 16:09:03 +0200 (Mon, 17 Sep 2012) | 3 lines + +* Use hash function from OCaml 3.x for comparing archives, even when + compiled with OCaml 4.x + +--- update.ml.orig 2010-04-15 17:29:31.000000000 +0000 ++++ update.ml +@@ -248,9 +248,9 @@ let rec checkArchive + (checkArchive false (n :: path) a h)) + children (Props.hash desc h) + | ArchiveFile (desc, dig, _, ress) -> +- Uutil.hash2 (Hashtbl.hash dig) (Props.hash desc h) ++ Uutil.hash2 (Uutil.hash dig) (Props.hash desc h) + | ArchiveSymlink content -> +- Uutil.hash2 (Hashtbl.hash content) h ++ Uutil.hash2 (Uutil.hash content) h + | NoArchive -> + 135 + diff --git a/net/unison/patches/patch-uutil.ml b/net/unison/patches/patch-uutil.ml new file mode 100644 index 00000000000..3e6f97b09f2 --- /dev/null +++ b/net/unison/patches/patch-uutil.ml @@ -0,0 +1,20 @@ +$NetBSD: patch-uutil.ml,v 1.1 2012/10/13 09:05:12 wiz Exp $ + +r511 | vouillon | 2012-09-17 16:09:03 +0200 (Mon, 17 Sep 2012) | 3 lines + +* Use hash function from OCaml 3.x for comparing archives, even when + compiled with OCaml 4.x + +--- uutil.ml.orig 2010-04-15 17:29:31.000000000 +0000 ++++ uutil.ml +@@ -34,6 +34,10 @@ 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" ++ ++let hash x = hash_param 10 100 x ++ + (*****************************************************************************) + (* File sizes *) + (*****************************************************************************) diff --git a/net/unison/patches/patch-uutil.mli b/net/unison/patches/patch-uutil.mli new file mode 100644 index 00000000000..7ecd5d5c4ca --- /dev/null +++ b/net/unison/patches/patch-uutil.mli @@ -0,0 +1,18 @@ +$NetBSD: patch-uutil.mli,v 1.1 2012/10/13 09:05:12 wiz Exp $ + +r511 | vouillon | 2012-09-17 16:09:03 +0200 (Mon, 17 Sep 2012) | 3 lines + +* Use hash function from OCaml 3.x for comparing archives, even when + compiled with OCaml 4.x + +--- uutil.mli.orig 2010-04-15 17:29:31.000000000 +0000 ++++ uutil.mli +@@ -13,6 +13,8 @@ val myNameAndVersion : string + + (* Hashing *) + val hash2 : int -> int -> int ++(* Hash function (OCaml 3.x version) *) ++val hash : 'a -> int + + module type FILESIZE = sig + type t |