diff options
author | Jean-Louis Fuchs <ganwell@fangorn.ch> | 2017-01-24 16:19:08 +0100 |
---|---|---|
committer | Leonardo Arena <rnalrd@alpinelinux.org> | 2017-01-27 13:34:16 +0000 |
commit | 1eea863cda80b1f9d78b5764e509f94df01c3a6c (patch) | |
tree | ecf87b84bf7a8a0a87cbfd042b8a374be9aa5742 /testing/unison | |
parent | f78197ba9593c19dc9803c2f784360a549e7450d (diff) | |
download | aports-1eea863cda80b1f9d78b5764e509f94df01c3a6c.tar.bz2 aports-1eea863cda80b1f9d78b5764e509f94df01c3a6c.tar.xz |
testing/unison: new aport
Diffstat (limited to 'testing/unison')
-rw-r--r-- | testing/unison/APKBUILD | 60 | ||||
-rw-r--r-- | testing/unison/bytearray_stubs_c.patch | 45 | ||||
-rw-r--r-- | testing/unison/fix_inotify_check.patch | 13 |
3 files changed, 118 insertions, 0 deletions
diff --git a/testing/unison/APKBUILD b/testing/unison/APKBUILD new file mode 100644 index 0000000000..ad9dee1f84 --- /dev/null +++ b/testing/unison/APKBUILD @@ -0,0 +1,60 @@ +# Contributor: Jean-Louis Fuchs <ganwell@fangorn.ch> +# Maintainer: Jean-Louis Fuchs <ganwell@fangorn.ch> +pkgname=unison +pkgver=2.48.4 +pkgrel=0 +pkgdesc="Unison - efficient file-synchronization tool" +url="https://www.cis.upenn.edu/~bcpierce/unison/" +arch="all" +license="GPL" +depends="" +makedepends="ocaml lablgtk-dev linux-headers emacs-nox" +install="" +subpackages="$pkgname-doc" +source="http://www.seas.upenn.edu/~bcpierce/unison/download/releases/stable/unison-$pkgver.tar.gz + http://www.seas.upenn.edu/~bcpierce/unison/download/releases/stable/unison-$pkgver-manual.html + fix_inotify_check.patch + bytearray_stubs_c.patch" +builddir="$srcdir/src" + +build() { + cd "$builddir" + # ocamlopt doesn't know -Os nor -fomit-frame-pointer + export CFLAGS="-ccopt -Os -ccopt -fomit-frame-pointer" + for ui in text gtk2; do + make clean + make mkProjectInfo + make UISTYLE=$ui DEBUGGING=false THREADS=true || return 1 + mv unison unison-$ui + done +} + +doc() { + pkgdesc="Unison - efficient file-synchronization tool (documentation)" + _docdir="$subpkgdir"/usr/share/doc/$pkgname/ + mkdir -p "$_docdir" + cd "$srcdir" + cp unison-$pkgver-manual.html "$_docdir" +} + +package() { + cd "$builddir" + install -d "${pkgdir}"/usr/bin + install -m755 unison-* "${pkgdir}"/usr/bin + cd "${pkgdir}"/usr/bin + ln -s unison-text unison + ln -s unison unison-${pkgver%.*} +} + +md5sums="5334b78c7e68169df7de95f4c6c4b60f unison-2.48.4.tar.gz +3dc5de6c0609ae2e3019d22f76345b91 unison-2.48.4-manual.html +2e119ce09b903763fb859d24d573f4f1 bytearray_stubs_c.patch +c40a53099c98f7a82eaad52b7e5d0df2 fix_inotify_check.patch" +sha256sums="30aa53cd671d673580104f04be3cf81ac1e20a2e8baaf7274498739d59e99de8 unison-2.48.4.tar.gz +2b5674e2fd7751148784a716ce5a03f8cd0a321c8a3bd4343832ed9b83d2d404 unison-2.48.4-manual.html +e475883bb55280f88cdd49688c1609a02d58eccbee9030546becc793b0645d6f bytearray_stubs_c.patch +ef0371e70c94250ca04e80a5fddf61f3edab1c6ec0854e9bf5b2edd6dd18e986 fix_inotify_check.patch" +sha512sums="c8e7bd2b14edae31e7d08154cdc2dce8173546b6163b9e5f4f2b1c8255792a7645d8449da88d7acfcbf498746481d24d0a3936978969920530a15a16bcbc6024 unison-2.48.4.tar.gz +b995712cda51d612bd81c89589d872099b3b9c90f7413268b24ab399a1eff7690200980514a834ee3d12bd3c89ef61bb8a29b3970c01433e0c4671d363a96b68 unison-2.48.4-manual.html +ab79e6c3c2788c4333b0108d96a668c426d206cb11ddc5a56a9255873dff4cc88c7bd9303a027467937f95e512b9d7593f8e22d51999b768e8ee90b60f89e1e4 bytearray_stubs_c.patch +27eaf4f347dc827dc14b338ef2be40d25507c6c9d65ecdc8f811ebe994f6e23577ad85fcc86b63d148b57844b24e6034061c869b641fbd3173532a26e0828803 fix_inotify_check.patch" diff --git a/testing/unison/bytearray_stubs_c.patch b/testing/unison/bytearray_stubs_c.patch new file mode 100644 index 0000000000..9f8396203d --- /dev/null +++ b/testing/unison/bytearray_stubs_c.patch @@ -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 +--- a/bytearray_stubs.c Tue Jan 17 08:41:00 2017 ++++ b/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; diff --git a/testing/unison/fix_inotify_check.patch b/testing/unison/fix_inotify_check.patch new file mode 100644 index 0000000000..009ce789cc --- /dev/null +++ b/testing/unison/fix_inotify_check.patch @@ -0,0 +1,13 @@ +diff -ru a/fsmonitor/linux/inotify_stubs.c b/fsmonitor/linux/inotify_stubs.c +--- a/fsmonitor/linux/inotify_stubs.c 2016-05-23 18:40:05.000000000 +0200 ++++ b/fsmonitor/linux/inotify_stubs.c 2017-01-23 23:14:47.613834613 +0100 +@@ -35,6 +35,9 @@ + #define GLIBC_SUPPORT_INOTIFY 0 + #endif + ++/* Alpine linux supports inotify */ ++#define GLIBC_SUPPORT_INOTIFY 1 ++ + #if GLIBC_SUPPORT_INOTIFY + #include <sys/inotify.h> + #else |