guix-devel
[Top][All Lists]
Advanced

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

[PATCH] gnu: cmake: Install man pages and docs in share/{man,doc}


From: Mark H Weaver
Subject: [PATCH] gnu: cmake: Install man pages and docs in share/{man,doc}
Date: Fri, 21 Mar 2014 23:47:19 -0400

>From 2e1bf6d9489306d69f7876797651e91049eed6c7 Mon Sep 17 00:00:00 2001
From: Mark H Weaver <address@hidden>
Date: Fri, 21 Mar 2014 03:44:03 -0400
Subject: [PATCH] gnu: cmake: Install man pages and docs in share/{man,doc}.

* gnu/packages/cmake.scm (cmake): Pass --mandir and --docdir to configure.
  Rewrite the code that selects the first two components of the version.
---
 gnu/packages/cmake.scm | 26 ++++++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 84873f4..87a70de 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Cyril Roelandt <address@hidden>
+;;; Copyright © 2014 Mark H Weaver <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,7 +23,8 @@
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
-  #:use-module (gnu packages file))
+  #:use-module (gnu packages file)
+  #:use-module (srfi srfi-1))
 
 (define-public cmake
   (package
@@ -32,15 +34,15 @@
              (method url-fetch)
              (uri (string-append
                    "http://www.cmake.org/files/v";
-                   (substring version 0
-                    (string-index version #\. (+ 1 (string-index version 
#\.))))
+                   (string-join (take (string-split version #\.) 2)
+                                ".")
                    "/cmake-" version ".tar.gz"))
              (sha256
               (base32 "11q21vyrr6c6smyjy81k2k07zmn96ggjia9im9cxwvj0n88bm1fq"))
              (patches (list (search-patch "cmake-fix-tests.patch")))))
     (build-system gnu-build-system)
     (arguments
-     '(#:test-target "test"
+     `(#:test-target "test"
        #:phases (alist-replace
                  'configure
                  (lambda* (#:key outputs #:allow-other-keys)
@@ -61,8 +63,20 @@
                          
"Utilities/cmlibarchive/libarchive/archive_write_set_format_shar.c"
                          "Tests/CMakeLists.txt")
                        (("/bin/sh") (which "sh")))
-                     (zero? (system* "./configure"
-                             (string-append "--prefix=" out)))))
+                     (zero? (system*
+                             "./configure"
+                             (string-append "--prefix=" out)
+                             ;; By default, the man pages and other docs land
+                             ;; in PREFIX/man and PREFIX/doc, but we want them
+                             ;; in share/{man,doc}.  Note that unlike
+                             ;; autoconf-generated configure scripts, cmake's
+                             ;; configure prepends "PREFIX/" to what we pass
+                             ;; to --mandir and --docdir.
+                             "--mandir=share/man"
+                             ,(string-append
+                               "--docdir=share/doc/cmake-"
+                               (string-join (take (string-split version #\.) 2)
+                                            "."))))))
                  %standard-phases)))
     (inputs
      `(("file" ,file)))
-- 
1.8.4




reply via email to

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