summaryrefslogtreecommitdiff
path: root/gnu/packages/version-control.scm
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2013-09-01 21:56:57 +0200
committerAndreas Enge <andreas@enge.fr>2013-09-01 21:56:57 +0200
commitd9ff410fb279571826748dac51adc00379968bbc (patch)
tree01f220f06422643b39660f7b049d07b6cee225a6 /gnu/packages/version-control.scm
parentc3f3e150c44a997c487cde1827ef81c706c4691a (diff)
gnu: Add git.
* gnu/packages/version-control.scm (git): New variable.
Diffstat (limited to 'gnu/packages/version-control.scm')
-rw-r--r--gnu/packages/version-control.scm48
1 files changed, 47 insertions, 1 deletions
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 <nikita@karetnikov.org>
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,7 +20,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(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 @@
#: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 @@ organize their workspace in whichever way they want. It is possible to work
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")