# # A lot of previous complexity in this spec revolved around supporting # Unison's infamously brittle interoperability story. However, as of # Unison 2.52, most of thse considerations now no longer apply, and we # can substantially improve the story. # %global forgeurl https://github.com/bcpierce00/unison/ Version: 2.53.3 Release: %autorelease %forgemeta %global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) %global debug_package %{nil} Name: unison Summary: Multi-master file synchronization tool License: GPLv3+ URL: https://www.cis.upenn.edu/~bcpierce/unison Source0: %{forgesource} # can't make this noarch (rpmbuild fails about unpackaged debug files) # BuildArch: noarch ExcludeArch: sparc64 s390 s390x BuildRequires: ocaml >= 4.03 BuildRequires: /usr/bin/latex BuildRequires: /usr/bin/hevea BuildRequires: /usr/bin/lynx # Stomp out packages for 2.13, 2.27, 2.40, and 2.51. Obsoletes: %{name} < 2.52.0-0 Obsoletes: %{name}213 < 2.52.0-0 Obsoletes: %{name}227 < 2.52.0-0 Obsoletes: %{name}240 < 2.52.0-0 Obsoletes: %{name}251 < 2.52.0-0 Requires: %{name}-ui = %{version}-%{release} %description Unison is a multi-master file-synchronization tool. It allows two replicas of a collection of files and directories to be stored on different hosts (or different locations on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other. %package gtk Summary: Multi-master file synchronization tool (Gtk interface) BuildRequires: ocaml-lablgtk3-devel BuildRequires: gtk3-devel BuildRequires: desktop-file-utils Requires: %{name} = %{version}-%{release} Recommends: %{name}-fsmonitor = %{version}-%{release} Provides: %{name}-ui = %{version}-%{release} %description gtk Graphical user interface for Unison. %package text Summary: Multi-master file synchronization tool (text interface) Requires: %name = %{version}-%{release} Recommends: %name-fsmonitor = %{version}-%{release} Provides: %{name}-ui = %{version}-%{release} %description text Text based user interface for Unison. %package fsmonitor Summary: Multi-master file synchronization tool (fsmonitor) Requires: %name = %{version}-%{release} Provides: %{name}-fsmonitor = %{version}-%{release} %description fsmonitor This helper application monitors file system changes on all given (relative to root) paths. %prep %forgesetup -v cat > %{name}.desktop < breaks the build. unset MAKEFLAGS # Unison's build system passes `CFLAGS' to the OCaml compiler. # Because `CFLAGS' is filled with all kinds of stuff, including # (e.g.,) LTO-by-default flags, we get horrible link failures. unset CFLAGS # Compile two versions: one with UISTYLE `gtk3', one with `text'. %if %opt make NATIVE=true UISTYLE=gtk3 THREADS=true OCAMLOPT="ocamlopt -g" src mv src/unison unison-gtk make NATIVE=true UISTYLE=text THREADS=true OCAMLOPT="ocamlopt -g" src mv src/unison unison-text mv src/unison-fsmonitor unison-fsmonitor make NATIVE=true docs %else make NATIVE=false UISTYLE=gtk3 THREADS=true src mv src/unison unison-gtk make NATIVE=false UISTYLE=text THREADS=true src mv src/unison unison-text mv src/unison-fsmonitor unison-fsmonitor make NATIVE=false docs %endif cp -f doc/unison-manual.html unison-manual.html %install install -m 755 -D unison-gtk %{buildroot}%{_bindir}/unison-gtk install -m 755 -D unison-text %{buildroot}%{_bindir}/unison-text install -m 755 -D unison-fsmonitor %{buildroot}%{_bindir}/unison-fsmonitor install -m 644 -D icons/U.svg %{buildroot}%{_datadir}/pixmaps/%{name}.svg desktop-file-install --dir %{buildroot}%{_datadir}/applications %{name}.desktop %files %doc src/README NEWS.md unison-manual.html %license src/COPYING %files gtk %ghost %{_bindir}/unison %{_bindir}/unison-gtk %{_datadir}/applications/%{name}.desktop %{_datadir}/pixmaps/%{name}.svg %files text %ghost %{_bindir}/unison %{_bindir}/unison-text %files fsmonitor %{_bindir}/unison-fsmonitor %changelog * Sat Aug 12 2023 Jashank Jeremy - 2.53.3-2 - Bump for Fedora 39 mass rebuild. * Sat Apr 29 2023 Jashank Jeremy - 2.53.3-1 - Update to 2.53.3. * Mon Feb 20 2023 Jashank Jeremy - 2.53.0-2 - Use the 'forge' rpmspec macros. * Tue Dec 27 2022 Jashank Jeremy - 2.53.0-1 - Update to 2.53.0. * Wed Jul 27 2022 Jashank Jeremy - 2.52.1-1 - Update to 2.52.1. (Bump for Fedora 37 mass rebuild.) * Fri Jun 24 2022 Jashank Jeremy - 2.52.0-2 - Bump to rebuild with OCaml 4.14.0. * Tue Apr 19 2022 Jashank Jeremy - 2.52.0-1 - Update to 2.52.0; clean up old compatibility workarounds. * Thu Aug 12 2021 Jerzy Drozdz - 2.51.4-1 - Update to 2.51.4 * Sat Jan 09 2021 Jerzy Drozdz - 2.51.3-10 - fsmonitor moved to seperate package - disabled building Gtk2 package for EL8 * Fri Dec 04 2020 Jerzy Drozdz - 2.51.3-9 - Service file moved to seperate package * Tue Dec 01 2020 Jerzy Drozdz - 2.51.3-8 - Added setting system limits in systemd unit - Service KillMode set to process * Sun Nov 29 2020 Jerzy Drozdz - 2.51.3-7 - Added -ui argument to service command line * Sun Nov 29 2020 Jerzy Drozdz - 2.51.3-6 - Fixed enabling unison service - Added restartig service on failure - Added $DISPLAY variable unset in service * Sun Nov 29 2020 Jerzy Drozdz - 2.51.3-5 - Fixed running unison as systemd service * Sat Nov 28 2020 Jerzy Drozdz - 2.51.3-4 - Added unison.service file * Sat Nov 28 2020 Jerzy Drozdz - 2.51.3-3 - Added unison-fsmonitor to package * Fri Nov 13 2020 Jerzy Drozdz - 2.51.3-2 - Fixed GTK package * Fri Nov 13 2020 Jerzy Drozdz - 2.51.3-1 - Rebuild for OCaml 4.11 * Sat Jul 27 2019 Fedora Release Engineering - 2.40.128-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Sun Feb 03 2019 Fedora Release Engineering - 2.40.128-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Sat Jul 14 2018 Fedora Release Engineering - 2.40.128-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Thu May 31 2018 Richard W.M. Jones - 2.40.128-11 - Use unsafe-string with OCaml 4.06. - Add small hack to keep it working with new lablgtk. - Enable debugging. * Fri Feb 09 2018 Fedora Release Engineering - 2.40.128-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Thu Aug 03 2017 Fedora Release Engineering - 2.40.128-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Thu Jul 27 2017 Fedora Release Engineering - 2.40.128-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Tue Feb 14 2017 Richard W.M. Jones - 2.40.128-7 - Small fix for compiling against OCaml 4.04 (RHBZ#1392152). * Sat Feb 11 2017 Fedora Release Engineering - 2.40.128-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Sat Nov 05 2016 Richard W.M. Jones - 2.40.128-5 - Rebuild for OCaml 4.04.0. * Fri Feb 05 2016 Fedora Release Engineering - 2.40.128-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Tue Jan 05 2016 Richard Jones - 2.40.128-3 - Use global instead of define. * Fri Jun 19 2015 Fedora Release Engineering - 2.40.128-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Mon Jan 19 2015 Richard W.M. Jones - 2.40.128-1 - New upstream version 2.40.128 (RHBZ#1178444). - Remove missing documentation patch, now included upstream. * Mon Aug 18 2014 Fedora Release Engineering - 2.40.102-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sun Jun 08 2014 Fedora Release Engineering - 2.40.102-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Wed Jan 01 2014 Rex Dieter - 2.40.102-6 - own alternatives target * Mon Sep 09 2013 Gregor Tätzner - 2.40.102-5 - ship 2 versions of unison: text only and gtk2 user interface - move binaries into subpackages - enable dependency generator * Sun Aug 04 2013 Fedora Release Engineering - 2.40.102-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Fri Feb 15 2013 Fedora Release Engineering - 2.40.102-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Fri Dec 14 2012 Richard W.M. Jones - 2.40.102-2 - Rebuild for OCaml 4.00.1. * Thu Nov 15 2012 Gregor Tätzner - 2.40.102-1 - 2.40.102 - fixes incompatibility between unison ocaml3 and ocaml4 builds * Sun Jul 22 2012 Fedora Release Engineering - 2.40.63-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Sun Jan 22 2012 Gregor Tätzner - 2.40.63-6 - Patch built-in documentation. * Sat Jan 21 2012 Gregor Tätzner - 2.40.63-5 - Add unison-manual.html. * Fri Jan 13 2012 Gregor Tätzner - 2.40.63-4 - Remove ocaml minimum version. - Add Requires and provides scripts. * Tue Sep 27 2011 Gregor Tätzner - 2.40.63-3 - Remove vendor tag. * Sun Sep 04 2011 Gregor Tätzner - 2.40.63-2 - Remove xorg-x11-font-utils Requirement. - Enable THREADS=true. * Tue Aug 30 2011 Gregor Tätzner - 2.40.63-1 - Version bump. * Sun Jul 26 2009 Fedora Release Engineering - 2.27.57-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Thu Apr 16 2009 S390x secondary arch maintainer - ExcludeArch sparc64, s390, s390x as we don't have OCaml on those archs (added sparc64 per request from the sparc maintainer) * Wed Feb 25 2009 Fedora Release Engineering - 2.27.57-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Thu Jan 8 2009 Stephen Warren - 2.27.57-11 - Add Requires: xorg-x11-fonts-misc * Wed Nov 26 2008 Richard W.M. Jones - 2.27.57-10 - Rebuild for OCaml 3.11.0+rc1. * Sat May 24 2008 Richard W.M. Jones - 2.27.57-9 - Rebuild with OCaml 3.10.2-2 (fixes bz 441685, 445545). * Sun Mar 30 2008 Stephen Warren - 2.27.57-8 - Don't use alternatives for desktop and icon files, to avoid duplicate menu entries. * Wed Mar 19 2008 Stephen Warren - 2.27.57-7 - Fix license to match correct interpretation of source & GPL - Remove Excludes for ppc64, since ocaml is available there now, in devel * Sat Mar 15 2008 Stephen Warren - 2.27.57-6 - Rename package unison2.27 -> unison227 to match Fedora naming rules - Automatically calculate ver_priority using the shell; easier maintenance * Sat Mar 1 2008 Stephen Warren - 2.27.57-5 - Use Provides/Obsoletes to provide upgrade path, per: http://fedoraproject.org/wiki/Packaging/NamingGuidelines * Thu Feb 28 2008 Stephen Warren - 2.27.57-4 - Explicitly conflict with existing unison package * Fri Feb 22 2008 Stephen Warren - 2.27.57-3 - Derived unison2.27 package from unison2.13 package * Mon Feb 4 2008 Gerard Milmeister - 2.27.57-2 - exclude arch ppc64 * Mon Feb 4 2008 Gerard Milmeister - 2.27.57-1 - new release 2.27.57 * Tue Aug 29 2006 Gerard Milmeister - 2.13.16-3 - Rebuild for FE6 * Tue Feb 28 2006 Gerard Milmeister - 2.13.16-2 - Rebuild for Fedora Extras 5 * Thu Sep 1 2005 Gerard Milmeister - 2.13.16-1 - New Version 2.13.16 * Sun Jul 31 2005 Gerard Milmeister - 2.12.0-0 - New Version 2.12.0 * Fri May 27 2005 Toshio Kuratomi - 2.10.2-7 - Bump and rebuild with new ocaml and new lablgtk * Sun May 22 2005 Jeremy Katz - 2.10.2-6 - rebuild on all arches * Mon May 16 2005 Gerard Milmeister - 2.10.2-5 - Patch: http://groups.yahoo.com/group/unison-users/message/3200 * Thu Apr 7 2005 Michael Schwendt - rebuilt * Thu Feb 24 2005 Michael Schwendt - 0:2.10.2-2 - BR gtk2-devel - Added NEWS and README docs * Sat Feb 12 2005 Gerard Milmeister - 0:2.10.2-1 - New Version 2.10.2 * Wed Apr 28 2004 Gerard Milmeister - 0:2.9.74-0.fdr.1 - New Version 2.9.74 - Added icon * Tue Jan 13 2004 Gerard Milmeister - 0:2.9.72-0.fdr.1 - New Version 2.9.72 * Tue Dec 9 2003 Gerard Milmeister - 0:2.9.70-0.fdr.2 - Changed Summary - Added .desktop file * Fri Oct 31 2003 Gerard Milmeister - 0:2.9.70-0.fdr.1 - First Fedora release