From d6b69d47a7b8f3f25360be166150fc92a5299394776cefc2c92a2f4e979f56b3 Mon Sep 17 00:00:00 2001
From: Dominique Leuenberger <dleuenberger@suse.com>
Date: Wed, 27 Nov 2019 12:52:50 +0000
Subject: [PATCH] Accepting request 748254 from network

- Update to v2.48v4, via _service file
- Add Compatibility-with-OCaml-4.08.patch
- Add Fix-for-lablgtk-2.18.6.patch
- Require lablgtk2 > 2.18.5

OBS-URL: https://build.opensuse.org/request/show/748254
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/unison?expand=0&rev=38
---
 Compatibility-with-OCaml-4.08.patch | 52 +++++++++++++++++++++++++++++
 Fix-for-lablgtk-2.18.6.patch        | 28 ++++++++++++++++
 _service                            | 17 ++++++++++
 unison-2.48.15.tar.xz               |  3 ++
 unison-2.48.4.tar.gz                |  3 --
 unison.changes                      |  8 +++++
 unison.spec                         | 19 ++++++-----
 7 files changed, 118 insertions(+), 12 deletions(-)
 create mode 100644 Compatibility-with-OCaml-4.08.patch
 create mode 100644 Fix-for-lablgtk-2.18.6.patch
 create mode 100644 _service
 create mode 100644 unison-2.48.15.tar.xz
 delete mode 100644 unison-2.48.4.tar.gz

diff --git a/Compatibility-with-OCaml-4.08.patch b/Compatibility-with-OCaml-4.08.patch
new file mode 100644
index 0000000..2f6b093
--- /dev/null
+++ b/Compatibility-with-OCaml-4.08.patch
@@ -0,0 +1,52 @@
+From 29fa058c3127f3b47c347dcaa4a94f4c0e888308 Mon Sep 17 00:00:00 2001
+From: Jaap Boender <jaapb@kerguelen.org>
+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 +-
+ 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 =
+   with End_of_file ->
+     dirh.System.closedir ()
+   end;
+-  Sort.list (<) !files
++  List.sort String.compare !files
+ 
+ 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
+ 
+ (* Sorts the paths so that they will be displayed in order                   *)
+ let sortPaths pathUpdatesList =
+-  Sort.list
+-    (fun (p1, _) (p2, _) -> Path.compare p1 p2 <= 0)
++  List.sort
++    Path.compare
+     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
+ let chmod = Unix.chmod
+ let chown = Unix.chown
+ let utimes = Unix.utimes
+-let link = Unix.link
++let link s d = Unix.link s d
+ let openfile = Unix.openfile
+ let opendir f =
+   let h = Unix.opendir f in
diff --git a/Fix-for-lablgtk-2.18.6.patch b/Fix-for-lablgtk-2.18.6.patch
new file mode 100644
index 0000000..b39389e
--- /dev/null
+++ b/Fix-for-lablgtk-2.18.6.patch
@@ -0,0 +1,28 @@
+From 2e7ea9481c6c3ff2ec513c39f73cfe15c0763c06 Mon Sep 17 00:00:00 2001
+From: daviddavid <geiger.david68210@gmail.com>
+Date: Mon, 26 Feb 2018 13:36:36 +0100
+Subject: Fix for lablgtk >= 2.18.6
+
+---
+ 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")
+ (* 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
+-    (Gpointer.region_of_string Pixmaps.icon_data)
++    (Gpointer.region_of_bytes Pixmaps.icon_data)
+ *)
+ let icon =
+   let p = GdkPixbuf.create ~width:48 ~height:48 ~has_alpha:true () in
+   Gpointer.blit
+-    (Gpointer.region_of_string Pixmaps.icon_data) (GdkPixbuf.get_pixels p);
++    (Gpointer.region_of_bytes Pixmaps.icon_data) (GdkPixbuf.get_pixels p);
+   p
+ 
+ let leftPtrWatch =
diff --git a/_service b/_service
new file mode 100644
index 0000000..aa3c75b
--- /dev/null
+++ b/_service
@@ -0,0 +1,17 @@
+<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="subdir">src</param>
+  </service>
+  <service name="recompress" mode="disabled">
+    <param name="file">*.tar</param>
+    <param name="compression">xz</param>
+  </service>
+  <service name="set_version" mode="disabled"/>
+</services>
diff --git a/unison-2.48.15.tar.xz b/unison-2.48.15.tar.xz
new file mode 100644
index 0000000..af803e1
--- /dev/null
+++ b/unison-2.48.15.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:667c838033076f45c4b840423e9b4d25a7776caf85034bca84fb235c5eae4a59
+size 630896
diff --git a/unison-2.48.4.tar.gz b/unison-2.48.4.tar.gz
deleted file mode 100644
index be2771f..0000000
--- a/unison-2.48.4.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:30aa53cd671d673580104f04be3cf81ac1e20a2e8baaf7274498739d59e99de8
-size 1200861
diff --git a/unison.changes b/unison.changes
index ac47237..c823c89 100644
--- a/unison.changes
+++ b/unison.changes
@@ -1,3 +1,11 @@
+-------------------------------------------------------------------
+Wed Nov 13 12:34:56 UTC 2019 - olaf@aepfle.de
+
+- Update to v2.48v4, via _service file
+- Add Compatibility-with-OCaml-4.08.patch
+- Add Fix-for-lablgtk-2.18.6.patch
+- Require lablgtk2 > 2.18.5
+
 -------------------------------------------------------------------
 Fri Nov  1 11:21:31 UTC 2019 - olaf@aepfle.de
 
diff --git a/unison.spec b/unison.spec
index 997dac8..3247743 100644
--- a/unison.spec
+++ b/unison.spec
@@ -12,28 +12,30 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
 Name:           unison
-Version:        2.48.4
+Version:        2.48.15
 Release:        0
 %{?ocaml_preserve_bytecode}
 Summary:        File synchronization tool
 License:        GPL-3.0+
 Group:          Productivity/Networking/Other
-Url:            http://www.cis.upenn.edu/~bcpierce/unison
-Source0:        http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-%{version}.tar.gz
-Source1:        http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-%{version}-manual.html
+Url:            https://github.com/bcpierce00/unison
+Source0:        %{name}-%{version}.tar.xz
+#https://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html
+Source1:        unison-2.48.4-manual.html
 Source2:        %{name}.desktop
 Source3:        %{name}.png
+Patch0:         Compatibility-with-OCaml-4.08.patch
+Patch1:         Fix-for-lablgtk-2.18.6.patch
 BuildRequires:  gtk2-devel
 BuildRequires:  ncurses-devel
-BuildRequires:  ocaml-lablgtk2-devel < 2.18.8
+BuildRequires:  ocaml-lablgtk2-devel > 2.18.5
 BuildRequires:  ocaml-rpm-macros >= 4.03.0
 BuildRequires:  update-desktop-files
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
 %description
 Unison is a file synchronization tool for Unix and Windows. It allows
@@ -43,7 +45,7 @@ separately, then brought up to date by propagating the changes in each
 replica to the other.
 
 %prep
-%setup -qn src
+%autosetup -p1
 
 %build
 # This package failed when testing with -Wl,-as-needed being default.
@@ -66,7 +68,6 @@ install -m 644 %{SOURCE1} unison-manual.html
 %suse_update_desktop_file -i %name Utility SyncUtility
 
 %files
-%defattr(-,root,root)
 %doc BUGS.txt CONTRIB COPYING NEWS README ROADMAP.txt unison-manual.html
 %{_datadir}/applications/*
 %{_datadir}/pixmaps/unison.png