73 lines
2.9 KiB
Nix
73 lines
2.9 KiB
Nix
{ stdenv, ghc, fetchurl, perl, coreutils, git, libuuid, rsync
|
|
, findutils, curl, ikiwiki, which, openssh
|
|
, blazeBuilder, blazeHtml, bloomfilter, caseInsensitive
|
|
, clientsession, cryptoApi, dataDefault, dataenc, dbus
|
|
, editDistance, extensibleExceptions, filepath, hamlet, hinotify
|
|
, hS3, hslogger, HTTP, httpTypes, IfElse, json, liftedBase
|
|
, MissingH, monadControl, mtl, network, networkInfo
|
|
, networkMulticast, pcreLight, QuickCheck, SHA, stm, text, time
|
|
, transformers, transformersBase, utf8String, wai, waiLogger, warp
|
|
, yesod, yesodDefault, yesodStatic, testpack, SafeSemaphore
|
|
, networkPprotocolXmpp, async, dns, DAV
|
|
}:
|
|
|
|
let
|
|
version = "3.20130107";
|
|
in
|
|
stdenv.mkDerivation {
|
|
name = "git-annex-${version}";
|
|
|
|
src = fetchurl {
|
|
url = "http://git.kitenet.net/?p=git-annex.git;a=snapshot;sf=tgz;h=${version}";
|
|
sha256 = "15x4rmpxv3mgp8r4gb6jana5262nvyl6rm5p8slc5z5ijl0qwbzq";
|
|
name = "git-annex-${version}.tar.gz";
|
|
};
|
|
|
|
buildInputs = [ ghc git libuuid rsync findutils curl ikiwiki which
|
|
openssh blazeBuilder blazeHtml bloomfilter caseInsensitive
|
|
clientsession cryptoApi dataDefault dataenc dbus editDistance
|
|
extensibleExceptions filepath hamlet hinotify hS3 hslogger HTTP
|
|
httpTypes IfElse json liftedBase MissingH monadControl mtl network
|
|
networkInfo networkMulticast pcreLight QuickCheck SHA stm text time
|
|
transformers transformersBase utf8String wai waiLogger warp yesod
|
|
yesodDefault yesodStatic testpack SafeSemaphore networkPprotocolXmpp
|
|
async dns DAV ];
|
|
|
|
checkTarget = "test";
|
|
doCheck = true;
|
|
|
|
preConfigure = ''
|
|
makeFlagsArray=( PREFIX=$out )
|
|
sed -i -e 's|#!/usr/bin/perl|#!${perl}/bin/perl|' Build/mdwn2man
|
|
sed -i -e 's|"cp |"${coreutils}/bin/cp |' -e 's|"rm -f |"${coreutils}/bin/rm -f |' test.hs
|
|
# Remove this patch after the next update!
|
|
sed -i -e '9i #define WITH_OLD_URI' Utility/Url.hs
|
|
'';
|
|
|
|
meta = {
|
|
homepage = "http://git-annex.branchable.com/";
|
|
description = "Manage files with git without checking them into git";
|
|
license = stdenv.lib.licenses.gpl3Plus;
|
|
|
|
longDescription = ''
|
|
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.
|
|
'';
|
|
|
|
platforms = ghc.meta.platforms;
|
|
maintainers = [ stdenv.lib.maintainers.simons ];
|
|
};
|
|
}
|