forked from mirrors/nixpkgs
4c16325de0
I take action before much discussion. For what I see: - getPkgConfig problems are hard to track - config.nix trying to forecast getPkgConfig behaviour looks me as a bad approach, and people should not trust such a config.nix unless they parsed the whole nixpkgs for tricky effects. - It's not that hard to write config.nix in the style of getConfig - Every now and then newcomers hit the "'git' is an attribute set while a boolean was expected". Maybe this will disrupt nixes of some people, and that will be a background on what to discuss. svn path=/nixpkgs/trunk/; revision=25314
140 lines
4.4 KiB
Nix
140 lines
4.4 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 fetchurl subversion;
|
|
config = param: getConfig [ "git" param ];
|
|
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 subversion;
|
|
svnSupport = config "svnSupport" false; # for git-svn support
|
|
guiSupport = config "guiSupport" false;
|
|
sendEmailSupport = config "sendEmailSupport" false;
|
|
perlLibs = [perlPackages.LWP perlPackages.URI perlPackages.TermReadKey];
|
|
smtpPerlLibs = [
|
|
perlPackages.NetSMTP perlPackages.NetSMTPSSL
|
|
perlPackages.IOSocketSSL perlPackages.NetSSLeay
|
|
perlPackages.MIMEBase64 perlPackages.AuthenSASL
|
|
perlPackages.DigestHMAC
|
|
];
|
|
};
|
|
|
|
# The full-featured Git.
|
|
gitFull = 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 = config "svnSupport" false; # for git-svn support
|
|
guiSupport = config "guiSupport" false;
|
|
perlLibs = [perlPackages.LWP perlPackages.URI perlPackages.TermReadKey subversion];
|
|
};
|
|
|
|
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 = stdenv.mkDerivation rec {
|
|
name = "topgit-0.8-32-g8b0f1f9";
|
|
|
|
src = fetchurl {
|
|
url = "http://repo.or.cz/w/topgit.git/snapshot/${name}.zip";
|
|
sha256 = "0v3binh7wc2di57w6rdnlww30ryszzsklfdmm61sl1ildyl1klk4";
|
|
};
|
|
|
|
buildInputs = [unzip];
|
|
configurePhase = "export prefix=$out";
|
|
|
|
postInstall = ''
|
|
mkdir -p "$out/share/doc/${name}"
|
|
cp -v README "$out/share/doc/${name}"
|
|
|
|
mkdir -p $out/etc/bash_completion.d
|
|
make prefix=$out \
|
|
install
|
|
mv contrib/tg-completion.bash $out/etc/bash_completion.d
|
|
'';
|
|
|
|
meta = {
|
|
description = "TopGit aims to make handling of large amount of interdependent topic branches easier";
|
|
maintainers = [ lib.maintainers.marcweber lib.maintainers.ludo lib.maintainers.simons ];
|
|
homepage = http://repo.or.cz/w/topgit.git;
|
|
license = "GPLv2";
|
|
platforms = stdenv.lib.platforms.unix;
|
|
};
|
|
};
|
|
|
|
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 fetchurl sourceFromHead stdenv mercurial coreutils git makeWrapper
|
|
subversion;
|
|
};
|
|
|
|
git2cl = import ./git2cl {
|
|
inherit fetchgit stdenv perl;
|
|
};
|
|
|
|
gitSubtree = stdenv.mkDerivation {
|
|
name = "git-subtree-0.3";
|
|
src = fetchurl {
|
|
url = "http://github.com/apenwarr/git-subtree/tarball/v0.3";
|
|
# sha256 = "0y57lpbcc2142jgrr4lflyb9xgzs9x33r7g4b919ncn3alb95vdr";
|
|
sha256 = "f2ccac1e9cff4c35d989dc2a5581133c96b72d96c6a5ed89e51b6446dadac03f";
|
|
};
|
|
unpackCmd = "gzip -d < $curSrc | tar xvf -";
|
|
buildInputs = [ git asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt ];
|
|
configurePhase = "export prefix=$out";
|
|
buildPhase = "true";
|
|
installPhase = ''
|
|
make install prefix=$out gitdir=$out/bin #work around to deal with a wrong makefile
|
|
'';
|
|
meta= {
|
|
description = "An experimental alternative to the git-submodule command";
|
|
homepage = http://github.com/apenwarr/git-subtree;
|
|
license = "GPLv2";
|
|
};
|
|
};
|
|
}
|