Blob Blame History Raw
# https://fedoraproject.org/wiki/Packaging:Haskell
# https://fedoraproject.org/wiki/PackagingDrafts/Haskell

%bcond_without ikiwiki

Name:           git-annex
Version:        3.20121009
Release:        3%{?dist}
Summary:        Manage files with git, without checking their contents into git

License:        GPLv3+
URL:            http://hackage.haskell.org/package/%{name}
Source0:        http://hackage.haskell.org/packages/archive/%{name}/%{version}/%{name}-%{version}.tar.gz
Patch0:         git-annex-default-flags.patch
Patch1:         git-annex-no-ifelse.patch

BuildRequires:  ghc-Cabal-devel
BuildRequires:  ghc-rpm-macros
# Begin cabal-rpm deps:
BuildRequires:  ghc-HTTP-devel
BuildRequires:  ghc-MissingH-devel
BuildRequires:  ghc-QuickCheck-devel
BuildRequires:  ghc-SHA-devel
BuildRequires:  ghc-bloomfilter-devel
BuildRequires:  ghc-bytestring-devel
BuildRequires:  ghc-containers-devel
BuildRequires:  ghc-dataenc-devel
BuildRequires:  ghc-directory-devel
BuildRequires:  ghc-edit-distance-devel
BuildRequires:  ghc-extensible-exceptions-devel
BuildRequires:  ghc-filepath-devel
BuildRequires:  ghc-hinotify-devel
BuildRequires:  ghc-hslogger-devel
#BuildRequires:  ghc-IfElse-devel
BuildRequires:  ghc-json-devel
BuildRequires:  ghc-lifted-base-devel
BuildRequires:  ghc-monad-control-devel
BuildRequires:  ghc-mtl-devel
BuildRequires:  ghc-network-devel
BuildRequires:  ghc-old-locale-devel
BuildRequires:  ghc-pcre-light-devel
BuildRequires:  ghc-process-devel
BuildRequires:  ghc-stm-devel
BuildRequires:  ghc-text-devel
BuildRequires:  ghc-time-devel
BuildRequires:  ghc-transformers-base-devel
BuildRequires:  ghc-unix-devel
BuildRequires:  ghc-utf8-string-devel
BuildRequires:  git
%if %{with ikiwiki}
BuildRequires:  ikiwiki
BuildRequires:  perl(Image::Magick)
%endif

Requires:       git

%description
git-annex allows managing files with git, without checking the file contents
into git. While that may seem paradoxical, it is useful when dealing with files
larger than git can currently easily handle, whether due to limitations in
memory, checksumming time, or disk space.

Even without file content tracking, being able to manage files with git, move
files around and delete files with versioned directory trees, and use branches
and distributed clones, are all very handy reasons to use git. And annexed
files can co-exist in the same git repository with regularly versioned files,
which is convenient for maintaining documents, Makefiles, etc that are
associated with annexed files but that benefit from full revision control.

When a file is annexed, its content is moved into a key-value store, and a
symlink is made that points to the content. These symlinks are checked into git
and versioned like regular files. You can move them around, delete them, and so
on. Pushing to another git repository will make git-annex there aware of the
annexed file, and it can be used to retrieve its content from the key-value
store.

%if %{with ikiwiki}
%package docs
Summary:        %{summary}
Group:          Documentation
BuildArch:      noarch

%description docs
This package contains the documentation for %{name} in HTML format.
%endif

%prep
%setup -q
%patch0 -p1 -b .flags
%patch1 -p1 -b .ifelse


%build
%ghc_bin_build

%if %{with ikiwiki}
make docs
%else
make git-annex.1 git-annex-shell.1
%endif


%install
%ghc_bin_install
ln -s %{name} %{buildroot}%{_bindir}/%{name}-shell

mkdir -p %{buildroot}%{_mandir}/man1
install -m 0644 git-annex.1 %{buildroot}%{_mandir}/man1
install -m 0644 git-annex-shell.1 %{buildroot}%{_mandir}/man1


%files
%doc COPYRIGHT README debian/changelog
%attr(755,root,root) %{_bindir}/%{name}
%{_bindir}/%{name}-shell
%{_mandir}/man1/git-annex.1*
%{_mandir}/man1/git-annex-shell.1*

%if %{with ikiwiki}
%files docs
%doc html/
%endif


%changelog
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.20121009-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Tue Dec 11 2012 Jens Petersen <petersen@redhat.com> - 3.20121009-2
- create manpages when no ikiwiki

* Tue Nov 06 2012 Jens Petersen <petersen@redhat.com> - 3.20121009-1
- update to 3.20121009

* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.20120615-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Tue Jun 26 2012 Jens Petersen <petersen@redhat.com> - 3.20120615-2
- fix doc file symlinks
- BR ImageMagick-perl
- make docs subpackage noarch

* Sat Jun 23 2012 Ben Boeckel <mathstuf@gmail.com> - 3.20120615-1
- Update to 3.20120615

* Tue May 22 2012 Jens Petersen <petersen@redhat.com> - 3.20120522-1
- create git-annex-shell symlink
- build and include manpages and docs in a subpackage

* Sat Apr 21 2012 Ben Boeckel <mathstuf@gmail.com> - 3.20120418-1
- Update to 3.20120418

* Fri Mar 02 2012 Ben Boeckel <mathstuf@gmail.com> - 3.20120229-1
- Update to 3.20120229

* Fri Mar  2 2012 Fedora Haskell SIG <haskell-devel@lists.fedoraproject.org>
- spec file template generated by cabal2spec-0.25.4