2011-09-03 15:17:36 +02:00
|
|
|
{ stdenv, fetchurl, curl, dataenc, findutils, ghc, git, hS3, hslogger, HTTP, hxt
|
|
|
|
, ikiwiki, json, libuuid, MissingH, monadControl, mtl, network, pcreLight, perl
|
2012-06-18 20:16:23 +02:00
|
|
|
, QuickCheck, rsync, SHA, testpack, utf8String, which, liftedBase, coreutils
|
2012-06-08 16:02:28 +02:00
|
|
|
, IfElse, bloomfilter, editDistance, openssh
|
2011-09-03 15:17:36 +02:00
|
|
|
}:
|
2011-03-23 16:57:53 +01:00
|
|
|
|
|
|
|
let
|
2012-06-15 17:33:47 +02:00
|
|
|
version = "3.20120614";
|
2011-03-23 16:57:53 +01:00
|
|
|
in
|
|
|
|
stdenv.mkDerivation {
|
|
|
|
name = "git-annex-${version}";
|
|
|
|
|
|
|
|
src = fetchurl {
|
2012-03-15 19:07:49 +01:00
|
|
|
url = "http://git.kitenet.net/?p=git-annex.git;a=snapshot;sf=tgz;h=refs/tags/${version}";
|
2012-06-15 17:33:47 +02:00
|
|
|
sha256 = "ecb3b144a75a2eeb27061c46f3300c5117a5df260dddb36349eb8e75b6eebb16";
|
2012-03-15 19:07:49 +01:00
|
|
|
name = "git-annex-${version}.tar.gz";
|
2011-03-23 16:57:53 +01:00
|
|
|
};
|
|
|
|
|
2011-09-03 15:17:36 +02:00
|
|
|
buildInputs = [
|
|
|
|
curl dataenc findutils ghc git hS3 hslogger HTTP hxt ikiwiki json
|
2012-06-18 20:16:23 +02:00
|
|
|
libuuid MissingH monadControl mtl network pcreLight perl QuickCheck
|
2012-03-15 19:07:49 +01:00
|
|
|
rsync SHA testpack utf8String which liftedBase IfElse bloomfilter
|
2012-06-08 16:02:28 +02:00
|
|
|
editDistance openssh
|
2011-09-03 15:17:36 +02:00
|
|
|
];
|
2011-07-08 01:48:22 +02:00
|
|
|
|
|
|
|
checkTarget = "test";
|
|
|
|
doCheck = true;
|
2011-03-23 16:57:53 +01:00
|
|
|
|
2012-03-06 12:24:20 +01:00
|
|
|
# The 'add_url' test fails because it attempts to use the network.
|
2011-03-23 22:05:01 +01:00
|
|
|
preConfigure = ''
|
|
|
|
makeFlagsArray=( PREFIX=$out )
|
|
|
|
sed -i -e 's|#!/usr/bin/perl|#!${perl}/bin/perl|' mdwn2man
|
2012-03-12 15:06:11 +01:00
|
|
|
sed -i -e 's|"cp |"${coreutils}/bin/cp |' -e 's|"rm -f |"${coreutils}/bin/rm -f |' test.hs
|
2011-03-23 22:05:01 +01:00
|
|
|
'';
|
2011-03-23 16:57:53 +01:00
|
|
|
|
|
|
|
meta = {
|
2011-07-08 01:48:26 +02:00
|
|
|
homepage = "http://git-annex.branchable.com/";
|
|
|
|
description = "Manage files with git without checking them into git";
|
2012-01-15 12:44:08 +01:00
|
|
|
license = stdenv.lib.licenses.gpl3Plus;
|
2011-03-23 16:57:53 +01:00
|
|
|
|
|
|
|
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.
|
|
|
|
'';
|
|
|
|
|
2011-08-09 11:54:50 +02:00
|
|
|
platforms = ghc.meta.platforms;
|
2011-03-23 16:57:53 +01:00
|
|
|
maintainers = [ stdenv.lib.maintainers.simons ];
|
|
|
|
};
|
|
|
|
}
|