gnu: Add git.

* gnu/packages/version-control.scm (git): New variable.
master
Andreas Enge 2013-09-01 21:56:57 +02:00
parent c3f3e150c4
commit d9ff410fb2
1 changed files with 47 additions and 1 deletions

View File

@ -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")