guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

03/03: gnu: Add git-manpages.


From: Ludovic Courtès
Subject: 03/03: gnu: Add git-manpages.
Date: Tue, 06 Jan 2015 14:07:40 +0000

civodul pushed a commit to branch master
in repository guix.

commit 1c38551a36ef32609a9fd4eb13663f0311247655
Author: Ludovic Courtès <address@hidden>
Date:   Tue Jan 6 15:07:22 2015 +0100

    gnu: Add git-manpages.
    
    * gnu/packages/version-control.scm (git-manpages): New variable.
---
 gnu/packages/version-control.scm |   47 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 47 insertions(+), 0 deletions(-)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index ae48c45..0589ac3 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")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]