lol
1/* All git-relates tools live here, in a separate attribute set so that users
2 * can get a fast overview over what's available.
3 */
4args @ {pkgs}: with args; with pkgs;
5let
6 inherit (pkgs) stdenv fetchgit fetchurl subversion;
7
8 gitBase = lib.makeOverridable (import ./git) {
9 inherit fetchurl stdenv curl openssl zlib expat perl python gettext gnugrep
10 asciidoc xmlto docbook2x docbook_xsl docbook_xml_dtd_45 libxslt cpio tcl
11 tk makeWrapper subversionClient gzip libiconv;
12 texinfo = texinfo5;
13 svnSupport = false; # for git-svn support
14 guiSupport = false; # requires tcl/tk
15 sendEmailSupport = false; # requires plenty of perl libraries
16 perlLibs = [perlPackages.LWP perlPackages.URI perlPackages.TermReadKey];
17 smtpPerlLibs = [
18 perlPackages.NetSMTP perlPackages.NetSMTPSSL
19 perlPackages.IOSocketSSL perlPackages.NetSSLeay
20 perlPackages.MIMEBase64 perlPackages.AuthenSASL
21 perlPackages.DigestHMAC
22 ];
23 };
24
25in
26rec {
27 # Try to keep this generally alphabetized
28
29 darcsToGit = callPackage ./darcs-to-git { };
30
31 git = appendToName "minimal" gitBase;
32
33 # The full-featured Git.
34 gitFull = gitBase.override {
35 svnSupport = true;
36 guiSupport = true;
37 sendEmailSupport = !stdenv.isDarwin;
38 };
39
40 # Git with SVN support, but without GUI.
41 gitSVN = lowPrio (appendToName "with-svn" (gitBase.override {
42 svnSupport = true;
43 }));
44
45 git-annex = pkgs.haskellPackages.git-annex-with-assistant;
46 gitAnnex = git-annex;
47
48 git-annex-remote-b2 = pkgs.goPackages.git-annex-remote-b2;
49
50 # support for bugzilla
51 git-bz = callPackage ./git-bz { };
52
53 git-cola = callPackage ./git-cola { };
54
55 git-crypt = callPackage ./git-crypt { };
56
57 git-extras = callPackage ./git-extras { };
58
59 git-imerge = callPackage ./git-imerge { };
60
61 git-radar = callPackage ./git-radar { };
62
63 git-remote-hg = callPackage ./git-remote-hg { };
64
65 git-stree = callPackage ./git-stree { };
66
67 git2cl = import ./git2cl {
68 inherit fetchgit stdenv perl;
69 };
70
71 gitFastExport = import ./fast-export {
72 inherit fetchgit stdenv mercurial coreutils git makeWrapper subversion;
73 };
74
75 gitRemoteGcrypt = callPackage ./git-remote-gcrypt { };
76
77 gitflow = callPackage ./gitflow { };
78
79 hub = import ./hub {
80 inherit go;
81 inherit stdenv fetchgit;
82 inherit (darwin) Security;
83 };
84
85 qgit = import ./qgit {
86 inherit fetchurl stdenv;
87 inherit (xorg) libXext libX11;
88 qt = qt4;
89 };
90
91 qgitGit = import ./qgit/qgit-git.nix {
92 inherit fetchurl sourceFromHead stdenv;
93 inherit (xorg) libXext libX11;
94 qt = qt4;
95 };
96
97 stgit = import ./stgit {
98 inherit fetchurl stdenv python git;
99 };
100
101 subgit = callPackage ./subgit { };
102
103 svn2git = import ./svn2git {
104 inherit stdenv fetchurl ruby makeWrapper;
105 git = gitSVN;
106 };
107
108 svn2git_kde = callPackage ./svn2git-kde { };
109
110 tig = callPackage ./tig { };
111
112 topGit = lib.makeOverridable (import ./topgit) {
113 inherit stdenv fetchurl;
114 };
115
116 transcrypt = callPackage ./transcrypt { };
117}