summaryrefslogtreecommitdiff
path: root/net/unison
diff options
context:
space:
mode:
authorwiz <wiz@pkgsrc.org>2012-10-13 09:05:11 +0000
committerwiz <wiz@pkgsrc.org>2012-10-13 09:05:11 +0000
commite69beb32b82f0e8865fd1d5c9ef8dbb43673df23 (patch)
treee4006e705791f60d0901c59a06d764681dc84988 /net/unison
parent2ea8a3f9551fc2cc3245ce21805dac79cee4ff18 (diff)
downloadpkgsrc-e69beb32b82f0e8865fd1d5c9ef8dbb43673df23.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/Makefile4
-rw-r--r--net/unison/distinfo13
-rw-r--r--net/unison/patches/patch-Makefile.OCaml11
-rw-r--r--net/unison/patches/patch-case.ml45
-rw-r--r--net/unison/patches/patch-fspath.ml14
-rw-r--r--net/unison/patches/patch-fspath.mli15
-rw-r--r--net/unison/patches/patch-path.ml20
-rw-r--r--net/unison/patches/patch-path.mli18
-rw-r--r--net/unison/patches/patch-props.ml27
-rw-r--r--net/unison/patches/patch-update.ml21
-rw-r--r--net/unison/patches/patch-uutil.ml20
-rw-r--r--net/unison/patches/patch-uutil.mli18
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