diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 5059dcd5e1..14404f0bfe 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2013 Cyril Roelandt ;;; Copyright © 2013 Ludovic Courtès +;;; Copyright © 2013 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,7 +20,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages version-control) - #:use-module ((guix licenses) #:select (asl2.0 gpl1+ gpl2+ gpl3+)) + #:use-module ((guix licenses) #:select (asl2.0 gpl1+ gpl2 gpl2+ gpl3+)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -28,11 +29,14 @@ (define-module (gnu packages version-control) #:use-module ((gnu packages gettext) #:renamer (symbol-prefix-proc 'guix:)) #:use-module (gnu packages apr) + #:use-module (gnu packages curl) #:use-module (gnu packages nano) + #:use-module (gnu packages openssl) #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages sqlite) #:use-module (gnu packages system) + #:use-module (gnu packages xml) #:use-module (gnu packages emacs) #:use-module (gnu packages compression)) @@ -64,6 +68,48 @@ (define-public bazaar from a command line or use a GUI application.") (license gpl2+))) +(define-public git + (package + (name "git") + (version "1.8.4") + (source (origin + (method url-fetch) + (uri (string-append "http://git-core.googlecode.com/files/git-" + version ".tar.gz")) + (sha256 + (base32 + "156bwqqgaw65rsvbb4wih5jfg94bxyf6p16mdwf0ky3f4ln55s2i")))) + (build-system gnu-build-system) + (inputs + `(("curl" ,curl) + ("expat" ,expat) + ("gettext" ,guix:gettext) + ("openssl" ,openssl) + ("perl" ,perl) + ("python" ,python) ; CAVEAT: incompatible with python-3 according to INSTALL + ("zlib" ,zlib))) + (arguments + `(#:make-flags `("V=1") ; more verbose compilation + #:test-target "test" + #:tests? #f ; FIXME: Many tests are failing + #:phases + (alist-replace + 'configure + (lambda* (#:key #:allow-other-keys #:rest args) + (let ((configure (assoc-ref %standard-phases 'configure))) + (and (apply configure args) + (substitute* "Makefile" + (("/bin/sh") (which "sh")) + (("/usr/bin/perl") (which "perl")) + (("/usr/bin/python") (which "python")))))) + %standard-phases))) + (synopsis "Distributed version control system") + (description + "Git is a free distributed version control system designed to handle +everything from small to very large projects with speed and efficiency.") + (license gpl2) + (home-page "http://git-scm.com/"))) + (define-public subversion (package (name "subversion")