From 2e1bf6d9489306d69f7876797651e91049eed6c7 Mon Sep 17 00:00:00 2001 From: Mark H Weaver 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 +;;; Copyright © 2014 Mark H Weaver ;;; ;;; 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