nixpkgs/pkgs/applications/version-management/git-and-tools/default.nix
Peter Simons 88d14c0e29 git-annex: updated to version 3.20120230
Note that the latest version of git-annex must be compiled with GHC 7.4.1 or
later, because it takes advantage of some freaky file name encoding guessing
features that are absent in older versions of the base library.

svn path=/nixpkgs/trunk/; revision=32819
2012-03-06 11:24:20 +00:00

109 lines
3.3 KiB
Nix

/* moving all git tools into one attribute set because git is unlikely to be
* referenced by other packages and you can get a fast overview.
*/
args: with args; with pkgs;
let
inherit (pkgs) stdenv fetchgit fetchurl subversion;
in
rec {
git = lib.makeOverridable (import ./git) {
inherit fetchurl stdenv curl openssl zlib expat perl python gettext gnugrep
asciidoc texinfo xmlto docbook2x docbook_xsl docbook_xml_dtd_45 libxslt
cpio tcl tk makeWrapper subversionClient;
svnSupport = false; # for git-svn support
guiSupport = false; # requires tcl/tk
sendEmailSupport = false; # requires plenty of perl libraries
perlLibs = [perlPackages.LWP perlPackages.URI perlPackages.TermReadKey];
smtpPerlLibs = [
perlPackages.NetSMTP perlPackages.NetSMTPSSL
perlPackages.IOSocketSSL perlPackages.NetSSLeay
perlPackages.MIMEBase64 perlPackages.AuthenSASL
perlPackages.DigestHMAC
];
};
# Git with SVN support, but without GUI.
gitSVN = lowPrio (appendToName "with-svn" (git.override {
svnSupport = true;
}));
# The full-featured Git.
gitFull = appendToName "full" (git.override {
svnSupport = true;
guiSupport = true;
sendEmailSupport = stdenv.isDarwin == false;
});
gitGit = import ./git/git-git.nix {
inherit fetchurl sourceFromHead stdenv curl openssl zlib expat perl gettext
asciidoc texinfo xmlto docbook2x
docbook_xsl docbook_xml_dtd_45 libxslt
cpio tcl tk makeWrapper subversion autoconf;
svnSupport = false;
guiSupport = false;
perlLibs = [perlPackages.LWP perlPackages.URI perlPackages.TermReadKey subversion];
};
gitAnnex = lib.makeOverridable (import ./git-annex) {
inherit stdenv fetchurl libuuid rsync findutils curl perl git ikiwiki which coreutils;
inherit (haskellPackages_ghc741) ghc MissingH utf8String pcreLight SHA dataenc
HTTP testpack hS3 mtl network hslogger hxt json liftedBase monadControl IfElse QuickCheck2;
};
qgit = import ./qgit {
inherit fetchurl stdenv;
inherit (xlibs) libXext libX11;
qt = qt4;
};
qgitGit = import ./qgit/qgit-git.nix {
inherit fetchurl sourceFromHead stdenv;
inherit (xlibs) libXext libX11;
qt = qt4;
};
stgit = import ./stgit {
inherit fetchurl stdenv python git;
};
topGit = lib.makeOverridable (import ./topgit) {
inherit stdenv fetchurl unzip;
};
tig = stdenv.mkDerivation {
name = "tig-0.16";
src = fetchurl {
url = "http://jonas.nitro.dk/tig/releases/tig-0.16.tar.gz";
sha256 = "167kak44n66wqjj6jrv8q4ijjac07cw22rlpqjqz3brlhx4cb3ix";
};
buildInputs = [ncurses asciidoc xmlto docbook_xsl];
installPhase = ''
make install
make install-doc
'';
meta = {
description = "console git repository browser that additionally can act as a pager for output from various git commands";
homepage = http://jonas.nitro.dk/tig/;
license = "GPLv2";
};
};
gitFastExport = import ./fast-export {
inherit fetchgit stdenv mercurial coreutils git makeWrapper subversion;
};
git2cl = import ./git2cl {
inherit fetchgit stdenv perl;
};
svn2git = import ./svn2git {
inherit stdenv fetchgit ruby makeWrapper;
git = gitSVN;
};
gitSubtree = import ./git-subtree {
inherit stdenv fetchurl git asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt;
};
}