From b9d8756b13280f99f623c84eb2013bf0bd62ba1d Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 23 Aug 2015 18:11:16 +0200 Subject: gnu: Add unison. * gnu/packages/ocaml.scm (unison): New variable. --- gnu/packages/ocaml.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 0318e23d32..12d813fa88 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Cyril Roelandt ;;; Copyright © 2014, 2015 Mark H Weaver +;;; Copyright © 2015 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -428,3 +429,46 @@ (define (coq-prog name) assistant to write formal mathematical proofs using a variety of theorem provers.") (license gpl2+))) + +(define-public unison + (package + (name "unison") + (version "2.48.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.seas.upenn.edu/~bcpierce/unison/" + "download/releases/stable/unison-" version + ".tar.gz")) + (sha256 + (base32 + "10sln52rnnsj213jy3166m0q97qpwnrwl6mm529xfy10x3xkq3gl")))) + (build-system gnu-build-system) + (native-inputs + `(("ocaml" ,ocaml))) + (arguments + `(#:parallel-build? #f + #:parallel-tests? #f + #:test-target "selftest" + #:tests? #f ; Tests require writing to $HOME. + ; If some $HOME is provided, they fail with the message + ; "Fatal error: Skipping some tests -- remove me!" + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'install 'prepare-install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (mkdir-p bin) + (setenv "HOME" out) ; forces correct INSTALLDIR in Makefile + #t)))))) + (home-page "https://www.cis.upenn.edu/~bcpierce/unison/") + (synopsis "File synchronizer") + (description + "Unison is a file-synchronization tool. It allows two replicas of +a collection of files and directories to be stored on different hosts +(or different disks on the same host), modified separately, and then +brought up to date by propagating the changes in each replica +to the other.") + (license gpl3+))) -- cgit v1.2.3