[arch-commits] Commit in unison/trunk (PKGBUILD large.patch)

Gaëtan Bisson bisson at archlinux.org
Tue Jan 17 22:15:33 UTC 2017


    Date: Tuesday, January 17, 2017 @ 22:15:32
  Author: bisson
Revision: 286899

fix FS#52595

Added:
  unison/trunk/large.patch
Modified:
  unison/trunk/PKGBUILD

-------------+
 PKGBUILD    |    9 ++++++++-
 large.patch |   49 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 57 insertions(+), 1 deletion(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2017-01-17 21:30:14 UTC (rev 286898)
+++ PKGBUILD	2017-01-17 22:15:32 UTC (rev 286899)
@@ -4,7 +4,7 @@
 
 pkgname=unison
 pkgver=2.48.4
-pkgrel=1
+pkgrel=2
 pkgdesc='File-synchronization tool'
 url='https://www.cis.upenn.edu/~bcpierce/unison/'
 arch=('i686' 'x86_64')
@@ -12,12 +12,19 @@
 optdepends=('gtk2: for gtk2 support')
 makedepends=('ocaml' 'lablgtk2' 'imagemagick')
 source=("https://www.cis.upenn.edu/~bcpierce/unison/download/releases/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.gz"
+        'large.patch'
         'desktop')
 sha1sums=('baeff0e3a942c710ce551cca118b891feca137c5'
+          '95433c2aa961cba19535fdf556e30bafa414a420'
           '9dad1737dd8d90e7ee2744a96cf71bd9f802a12a')
 
 options=('!makeflags')
 
+prepare() {
+	cd "${srcdir}/src"
+	patch -p0 -i ../large.patch
+}
+
 build() {
 	cd "${srcdir}/src"
 	CFLAGS=""

Added: large.patch
===================================================================
--- large.patch	                        (rev 0)
+++ large.patch	2017-01-17 22:15:32 UTC (rev 286899)
@@ -0,0 +1,49 @@
+diff -Nrua /usr/ports/net/unison/patches/patch-bytearray_stubs_c ./patches/patch-bytearray_stubs_c
+--- /usr/ports/net/unison/patches/patch-bytearray_stubs_c	Thu Jan  1 01:00:00 1970
++++ ./patches/patch-bytearray_stubs_c	Tue Jan 17 08:44:39 2017
+@@ -0,0 +1,45 @@
++Fix rare SIGSEGV when transferring large replicas.
++Fix a theoretical integer overflow. 
++
++Patches from here:
++https://caml.inria.fr/mantis/view.php?id=7431#c17026
++and here:
++https://caml.inria.fr/mantis/view.php?id=7431#c16962
++
++Related issue reports:
++https://github.com/bcpierce00/unison/issues/48
++https://caml.inria.fr/mantis/view.php?id=7431
++https://bugzilla.redhat.com/show_bug.cgi?id=1401759
++
++Thanks to Alex Markley and OCaml developers
++--- bytearray_stubs.c.orig	Tue Jan 17 08:41:00 2017
+++++ bytearray_stubs.c	Tue Jan 17 08:41:21 2017
++@@ -5,6 +5,7 @@
++ 
++ #include "caml/intext.h"
++ #include "caml/bigarray.h"
+++#include "caml/memory.h"
++ 
++ CAMLprim value ml_marshal_to_bigarray(value v, value flags)
++ {
++@@ -21,15 +22,18 @@ CAMLprim value ml_marshal_to_bigarray(value v, value f
++ 
++ CAMLprim value ml_unmarshal_from_bigarray(value b, value ofs)
++ {
+++  CAMLparam1(b); /* Holds [b] live until unmarshalling completes. */
+++  value result;
++   struct caml_bigarray *b_arr = Bigarray_val(b);
++-  return input_value_from_block (Array_data (b_arr, ofs),
+++  result = input_value_from_block (Array_data (b_arr, ofs),
++                                  b_arr->dim[0] - Long_val(ofs));
+++  CAMLreturn(result);
++ }
++ 
++ CAMLprim value ml_blit_string_to_bigarray
++ (value s, value i, value a, value j, value l)
++ {
++-  char *src = String_val(s) + Int_val(i);
+++  char *src = String_val(s) + Long_val(i);
++   char *dest = Array_data(Bigarray_val(a), j);
++   memcpy(dest, src, Long_val(l));
++   return Val_unit;



More information about the arch-commits mailing list