commit:     e547a74e68a1cd8047d3aaaf480acb3c94425a40
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Fri Oct 16 22:07:53 2020 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Oct 17 08:32:04 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e547a74e

net-misc/unison: bump to 2.48.15_p4

Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/17927
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-misc/unison/Manifest                           |  1 +
 .../files/unison-2.48.15_p4-ocaml-4.08.patch       | 67 ++++++++++++++++
 net-misc/unison/unison-2.48.15_p4.ebuild           | 92 ++++++++++++++++++++++
 3 files changed, 160 insertions(+)

diff --git a/net-misc/unison/Manifest b/net-misc/unison/Manifest
index 9ceab2eb127..100bc6830fc 100644
--- a/net-misc/unison/Manifest
+++ b/net-misc/unison/Manifest
@@ -1,3 +1,4 @@
+DIST unison-2.48.15v4.tar.gz 1911781 BLAKE2B 
d3dabea1b8b0d2a8c64716144d33265ba904d7658f64c7f0e74b47a1dd10cf2b692d150052e3234be74aedbcf35a37fe1da9f393802c96810e36ef115609dcec
 SHA512 
658b37fd18d8dee517e88ad707f7e80c1731542a0e07e6a8d56e6598e38bcf405cdb8db224274bf9b3319ed87efc45057d1f79e6437c4ca53afe9cec4afe6c78
 DIST unison-2.48.4-manual.html 278110 BLAKE2B 
8a85662399aff31a016964783b32c195cb32f5e6bab44c2f0f08740ab88393f4c73b98ecf58d6930bf103c1bec45720306343fa9fe39d3cdd73ffbbac2b9093c
 SHA512 
b995712cda51d612bd81c89589d872099b3b9c90f7413268b24ab399a1eff7690200980514a834ee3d12bd3c89ef61bb8a29b3970c01433e0c4671d363a96b68
 DIST unison-2.48.4-manual.pdf 516093 BLAKE2B 
8e752a01b8c4335d6687b1f4f20ee09fda90b7521b7ed87af43273416fb3119682078d969772e8c3f7395ef499257dafd67c455a4646868008090ea15063869e
 SHA512 
514da1eda0405416e53b1c8e027d39a803f9030824deccfaf5630aec21c52c6c9ea0d1006461faa8fb26738f4a33eecfe1ae24126fdb7a53ada6b90db270e6c9
 DIST unison-2.48.4.tar.gz 1200861 BLAKE2B 
8e262e3e28b9f4cbe3925340aa3b08e99f1c30e8d3253cf2c82647e30708d30eb20c544184d54d1683ff9b01ac6913af0df924f0b16431ea2ac79bc95ec4a71f
 SHA512 
c8e7bd2b14edae31e7d08154cdc2dce8173546b6163b9e5f4f2b1c8255792a7645d8449da88d7acfcbf498746481d24d0a3936978969920530a15a16bcbc6024

diff --git a/net-misc/unison/files/unison-2.48.15_p4-ocaml-4.08.patch 
b/net-misc/unison/files/unison-2.48.15_p4-ocaml-4.08.patch
new file mode 100644
index 00000000000..8a8205d3cfe
--- /dev/null
+++ b/net-misc/unison/files/unison-2.48.15_p4-ocaml-4.08.patch
@@ -0,0 +1,67 @@
+Reworked for v2.48.15v4 ( https://github.com/bcpierce00/unison/commit/29fa058 )
+
+From: Stephane Glondu <[email protected]>
+Date: Mon, 25 Nov 2019 10:52:48 +0100
+Subject: Fix compilation with OCaml 4.08.1
+
+---
+ files.ml                 | 2 +-
+ recon.ml                 | 4 ++--
+ system/system_generic.ml | 2 +-
+ uigtk2.ml                | 2 +-
+ 5 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/Makefile.OCaml b/Makefile.OCaml
+index 21610ce..7549907 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..a8719c4 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 9230cdc..ee457c5 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/uigtk2.ml b/uigtk2.ml
+index 206d8ad..b2a17e2 100644
+--- a/uigtk2.ml
++++ b/uigtk2.ml
+@@ -94,7 +94,7 @@ let icon =
+ 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/net-misc/unison/unison-2.48.15_p4.ebuild 
b/net-misc/unison/unison-2.48.15_p4.ebuild
new file mode 100644
index 00000000000..771b3e609dd
--- /dev/null
+++ b/net-misc/unison/unison-2.48.15_p4.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Two-way cross-platform file synchronizer"
+HOMEPAGE="https://www.seas.upenn.edu/~bcpierce/unison/";
+SRC_URI="https://github.com/bcpierce00/unison/archive/v${PV/_p/v}.tar.gz -> 
${P/_p/v}.tar.gz"
+# No manual.pdf or manual.html available for this version
+#      doc? ( 
https://www.seas.upenn.edu/~bcpierce/unison/download/releases/${P}/${P}-manual.pdf
+#              
https://www.seas.upenn.edu/~bcpierce/unison/download/releases/${P}/${P}-manual.html
 )"
+
+LICENSE="GPL-2"
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos 
~sparc-solaris"
+IUSE="gtk static debug threads +ocamlopt test"
+
+# Upstream, for this version, has explicitly disabled test with marker
+# "Skipping some tests -- remove me!". Given the potentially destructive nature
+# of those tests, let's not try to run them (they're re-enabled in subsequent
+# releases).
+RESTRICT="test !ocamlopt? ( strip )"
+
+# ocaml version so we are sure it has ocamlopt use flag
+DEPEND="<dev-lang/ocaml-4.10.0:=[ocamlopt?]
+       gtk? ( dev-ml/lablgtk:2= )"
+
+RDEPEND="gtk? ( dev-ml/lablgtk:2=
+       || ( net-misc/x11-ssh-askpass net-misc/ssh-askpass-fullscreen ) )
+       >=app-eselect/eselect-unison-0.4"
+
+S="${WORKDIR}"/${P/_p/v}/src
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.48.4-Makefile-dep.patch
+       "${FILESDIR}"/${PN}-2.48.15_p4-ocaml-4.08.patch # 
https://bugs.gentoo.org/709646
+)
+
+DOCS=( BUGS.txt CONTRIB INSTALL NEWS README ROADMAP.txt TODO.txt )
+
+src_compile() {
+       local myconf
+
+       if use threads; then
+               myconf="$myconf THREADS=true"
+       fi
+
+       if use static; then
+               myconf="$myconf STATIC=true"
+       fi
+
+       if use debug; then
+               myconf="$myconf DEBUGGING=true"
+       fi
+
+       if use gtk; then
+               myconf="$myconf UISTYLE=gtk2"
+       else
+               myconf="$myconf UISTYLE=text"
+       fi
+
+       use ocamlopt || myconf="$myconf NATIVE=false"
+
+       # Discard cflags as it will try to pass them to ocamlc...
+       emake $myconf CFLAGS="" buildexecutable
+}
+
+src_test() {
+       emake selftest CFLAGS=""
+}
+
+src_install() {
+       # install manually, since it's just too much
+       # work to force the Makefile to do the right thing.
+       local binname
+       for binname in unison unison-fsmonitor; do
+               newbin ${binname} ${binname}-${SLOT}
+       done
+# No manual.pdf or manual.html available for this version
+#      if use doc; then
+#              DOCS+=( "${DISTDIR}/${P}-manual.pdf" )
+#              HTML_DOCS=( "${DISTDIR}/${P}-manual.html" )
+#      fi
+       einstalldocs
+}
+
+pkg_postinst() {
+       elog "Unison now uses SLOTs, so you can specify 
servercmd=/usr/bin/unison-${SLOT}"
+       elog "in your profile files to access exactly this version over ssh."
+       elog "Or you can use 'eselect unison' to set the version."
+       eselect unison update
+}

Reply via email to