aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/version-control.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-01-06 15:07:22 +0100
committerLudovic Courtès <ludo@gnu.org>2015-01-06 15:07:22 +0100
commit1c38551a36ef32609a9fd4eb13663f0311247655 (patch)
treed2759aa8d419fb801abaa70b7a780552d911a4a9 /gnu/packages/version-control.scm
parent50ec74308ebf2cb356e509ffb454edfd3ccd4725 (diff)
downloadpatches-1c38551a36ef32609a9fd4eb13663f0311247655.tar
patches-1c38551a36ef32609a9fd4eb13663f0311247655.tar.gz
gnu: Add git-manpages.
* gnu/packages/version-control.scm (git-manpages): New variable.
Diffstat (limited to 'gnu/packages/version-control.scm')
-rw-r--r--gnu/packages/version-control.scm47
1 files changed, 47 insertions, 0 deletions
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index ae48c4517b..0589ac30a1 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -95,6 +95,7 @@ as well as the classic centralized workflow.")
(license gpl2+)))
(define-public git
+ ;; Keep in sync with 'git-manpages'!
(package
(name "git")
(version "2.2.1")
@@ -210,6 +211,52 @@ everything from small to very large projects with speed and efficiency.")
(license gpl2)
(home-page "http://git-scm.com/")))
+(define-public git-manpages
+ ;; Keep in sync with 'git'!
+
+ ;; Granted, we could build the man pages from the 'git' package itself,
+ ;; which contains the real source. However, it would add a dependency on a
+ ;; full XML tool chain, and building it actually takes ages. So we use this
+ ;; lazy approach.
+ (package
+ (name "git-manpages")
+ (version (package-version git))
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://kernel.org/software/scm/git/git-manpages-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0f75n5yfrzb55qbg5wq4bmv43lay806v51yhglwkp7mbv1zkby00"))))
+ (build-system trivial-build-system)
+ (arguments
+ '(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+
+ (let* ((xz (assoc-ref %build-inputs "xz"))
+ (tar (assoc-ref %build-inputs "tar"))
+ (out (assoc-ref %outputs "out"))
+ (share (string-append out "/share")))
+ (setenv "PATH" (string-append tar "/bin:" xz "/bin"))
+
+ (mkdir-p share)
+ (with-directory-excursion share
+ (zero? (system* "tar" "xvf"
+ (assoc-ref %build-inputs "source"))))))))
+
+ (native-inputs `(("tar" ,tar)
+ ("xz" ,xz)))
+ (home-page (package-home-page git))
+ (license (package-license git))
+ (synopsis "Man pages of the Git version control system")
+ (description
+ "This package provides the man pages of the Git version control system.
+This is the documentation displayed when using the '--help' option of a 'git'
+command.")))
+
(define-public shflags
(package
(name "shflags")