diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix index 699007b0970..f99de479a18 100644 --- a/pkgs/applications/version-management/git-and-tools/default.nix +++ b/pkgs/applications/version-management/git-and-tools/default.nix @@ -15,13 +15,21 @@ rec { 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 = true; }; gitGit = import ./git/git-git.nix { diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index 00254c9d1ff..8b675307caa 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -1,9 +1,10 @@ { fetchurl, stdenv, curl, openssl, zlib, expat, perl, python, gettext, cpio , asciidoc, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_45 , libxslt, tcl, tk, makeWrapper -, svnSupport, subversion, perlLibs +, svnSupport, subversion, perlLibs, smtpPerlLibs , guiSupport , pythonSupport ? true +, sendEmailSupport }: let @@ -60,6 +61,18 @@ stdenv.mkDerivation rec { notSupported $out/bin/git-svn "reinstall with config git = { svnSupport = true } set" '') + + (if sendEmailSupport then + ''# wrap git-send-email + gitperllib=$out/lib/perl5/site_perl + for i in ${builtins.toString smtpPerlLibs}; do + gitperllib=$gitperllib:$i/lib/perl5/site_perl + done + wrapProgram "$out/libexec/git-core/git-send-email" \ + --set GITPERLLIB "$gitperllib" '' + else '' # replace git-send-email by notification script + notSupported $out/bin/git-send-email "reinstall with config git = { sendEmailSupport = true } set" + '') + + ''# Install man pages and Info manual make PERL_PATH="${perl}/bin/perl" cmd-list.made install install-info \ -C Documentation '' diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 19ee6ac2bef..e4a95bfa67c 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -88,6 +88,15 @@ rec { }; }; + AuthenSASL = buildPerlPackage rec { + name = "Authen-SASL-2.1401"; + src = fetchurl { + url = "mirror://cpan/authors/id/G/GB/GBARR/${name}.tar.gz"; + sha256 = "1vx97xnqj5jqlh767l04jbqmsiqd5qcbw2jnbd3qh7fhh0slff6d"; + }; + propagatedBuildInputs = [DigestHMAC]; + }; + Autobox = buildPerlPackage rec { name = "autobox-2.55"; src = fetchurl { @@ -1429,6 +1438,16 @@ rec { }; }; + IOSocketSSL = buildPerlPackage { + name = "IO-Socket-SSL-1.33"; + src = fetchurl { + url = mirror://cpan/authors/id/S/SU/SULLR/IO-Socket-SSL-1.33.tar.gz; + sha256 = "1lpp2cs794d989b9gfhssjv1bkcs9lmrkjcpnxsavj7822izs4xj"; + }; + propagatedBuildInputs = [NetSSLeay]; + # TODO: IOSocketINET6 + }; + IOString = buildPerlPackage rec { name = "IO-String-1.08"; src = fetchurl { @@ -1668,6 +1687,14 @@ rec { propagatedBuildInputs = [TimeDate TestPod]; }; + MIMEBase64 = buildPerlPackage rec { + name = "MIME-Base64-3.09"; + src = fetchurl { + url = "mirror://cpan/authors/id/G/GA/GAAS/${name}.tar.gz"; + sha256 = "1gi2zyxwkkmyng8jawfnbxpsybvybz6h6ryq0wfdljmmjpjbmzzc"; + }; + }; + MIMETypes = buildPerlPackage rec { name = "MIME-Types-1.27"; src = fetchurl { @@ -1846,6 +1873,33 @@ rec { doCheck = false; # seems to hang waiting for connections }; + NetSMTP = buildPerlPackage { + name = "Net-SMTP-1.22"; + src = fetchurl { + url = mirror://cpan/authors/id/G/GB/GBARR/libnet-1.22.tar.gz; + sha256 = "113c36qilbvd69yhkm2i2ba20ajff7cdpgvlqx96j9bb1hfmhb1p"; + }; + }; + + NetSMTPSSL = buildPerlPackage { + name = "Net-SMTP-SSL-1.01"; + src = fetchurl { + url = mirror://cpan/authors/id/C/CW/CWEST/Net-SMTP-SSL-1.01.tar.gz; + sha256 = "12b2xvrd253ngvzwf81s9han4jr94l39vs5ca70pzr3wpi39qn8k"; + }; + propagatedBuildInputs = [IOSocketSSL]; + }; + + NetSSLeay = buildPerlPackage { + name = "Net-SSLeay-1.36"; + src = fetchurl { + url = mirror://cpan/authors/id/F/FL/FLORA/Net-SSLeay-1.36.tar.gz; + sha256 = "1kjk5kdwsklchxrv21m4ii80akbxrg3i6y4zwfb91an5cdr8jqp2"; + }; + buildInputs = [pkgs.openssl]; + OPENSSL_PREFIX = pkgs.openssl; + }; + NetTwitterLite = buildPerlPackage { name = "Net-Twitter-Lite-0.08003";