guix-devel
[Top][All Lists]
Advanced

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

[PATCH] gnu: doxygen: Use sh from the store.


From: Thomas Danckaert
Subject: [PATCH] gnu: doxygen: Use sh from the store.
Date: Tue, 03 Jan 2017 13:09:23 +0100 (CET)

Hi Guix,

Doxygen uses a hardcoded "/bin/sh" to run "dot" (and maybe other processes as well) to generate documentation graphs, which fails in a build environment. This patch adds the store item of bash-minimal as a prefix.

According to `guix refresh --list-dependent', this patch would cause 689 packages to be rebuilt, so it probably shouldn't be applied on master.

best,

Thomas
From 306e4805734bdaf5d0ef2b26a30ff2c558aaf93c Mon Sep 17 00:00:00 2001
From: Thomas Danckaert <address@hidden>
Date: Tue, 3 Jan 2017 12:58:28 +0100
Subject: [PATCH] gnu: doxygen: Use sh from the store.

* gnu/packages/documentation.scm (doxygen)[inputs]: Add bash-minimal.
  [arguments]: Add phase to add store prefix to "/bin/sh".
---
 gnu/packages/documentation.scm | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm
index bbc25e8..6f648db 100644
--- a/gnu/packages/documentation.scm
+++ b/gnu/packages/documentation.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2014, 2016 Andreas Enge <address@hidden>
 ;;; Copyright © 2016 Eric Bavier <address@hidden>
 ;;; Copyright © 2016 Roel Janssen <address@hidden>
+;;; Copyright © 2016 Thomas Danckaert <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -26,6 +27,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system cmake)
   #:use-module (gnu packages)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages python)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages docbook)
@@ -99,8 +101,17 @@ markup) can be customized and extended by the user.")
        ("flex" ,flex)
        ("libxml2" ,libxml2) ; provides xmllint for the tests
        ("python" ,python-2))) ; for creating the documentation
+    (inputs
+     `(("bash" ,bash-minimal)))
     (arguments
-     `(#:test-target "tests"))
+     `(#:test-target "tests"
+       #:phases (modify-phases %standard-phases
+                  (add-before 'configure 'patch-sh
+                              (lambda* (#:key inputs #:allow-other-keys)
+                                (substitute* "src/portable.cpp"
+                                  (("/bin/sh")
+                                   (string-append
+                                    (assoc-ref inputs "bash") "/bin/sh"))))))))
     (home-page "http://www.stack.nl/~dimitri/doxygen/";)
     (synopsis "Generate documentation from annotated sources")
     (description "Doxygen is the de facto standard tool for generating
-- 
2.7.4


reply via email to

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