# AL2023 build: text UI only. # The GTK GUI needs ocaml-lablgtk3-devel + ocaml-cairo-devel, which AL2023 lacks. # The doc subpackage (unison-manual.{html,pdf,txt}) needs hevea + texlive. %bcond_with doc %bcond_with gtk # Both COPR chroots (x86_64, aarch64) have a native OCaml compiler. %global native true Name: unison Version: 2.54.0 Release: 1%{?dist} Summary: File Synchronizer # LGPL-2.0-only # src/ubase/myMap.ml{,i} # src/ubase/uarg.ml{,i} # LGPL-2.1-only # src/fsmonitor/inotify/inotify.ml{,i} # src/fsmonitor/inotify/inotify_stubs.c # src/hash_compat.c # LGPL-2.1-or-later # src/lwt License: GPL-3.0-or-later AND LGPL-2.0-only AND LGPL-2.1-only AND LGPL-2.1-or-later URL: https://github.com/bcpierce00/unison/ Source0: %{url}archive/v%{version}/%{name}-%{version}.tar.gz ExclusiveArch: x86_64 aarch64 BuildRequires: gcc BuildRequires: make BuildRequires: ocaml >= 4.08 BuildRequires: ocaml-findlib Provides: bundled(ocaml-inotify) %description Unison is a file-synchronization tool for POSIX-compliant systems (e.g. *BSD, GNU/Linux, macOS) and Windows. 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. This build provides the text user interface and unison-fsmonitor only; the GTK GUI is not built. %prep %autosetup %build %make_build \ NATIVE=%{native} \ tui \ fsmonitor \ manpage %install %make_install \ NATIVE=%{native} \ PREFIX=%{_prefix} %check make test \ NATIVE=%{native} %files %doc NEWS.md README.md %license LICENSE %{_bindir}/%{name} %{_bindir}/%{name}-fsmonitor %{_mandir}/man1/%{name}.1* %changelog * Tue Aug 04 2026 Yonghang Wang - 2.54.0-1 - Initial build for al-stream-2023, adapted from the Fedora spec - Text UI and fsmonitor only: GTK GUI and the doc subpackage are disabled