summary refs log tree commit diff
diff options
context:
space:
mode:
authorTaylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>2015-03-30 10:37:11 +0200
committerTaylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>2015-03-31 16:16:53 +0200
commit9af288a6805661627f964d9e9eae4518aaad266e (patch)
tree6dcea2aca004a8212c087c76e8b740e83c061886
parentf73b8e3d0a14961418255d53708bd10271ef5f00 (diff)
downloadguix-9af288a6805661627f964d9e9eae4518aaad266e.tar.gz
gnu: ngircd: Fix test suite.
* gnu/packages/messaging.scm (ngircd): Overwrite getpid.sh with a more
  reliable version.
-rw-r--r--gnu/packages/messaging.scm17
1 files changed, 16 insertions, 1 deletions
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 462c500248..fd857b1ec3 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -201,7 +201,22 @@ dictionaries.  HexChat can be extended with multiple addons.")
         'configure 'post-configure
         (lambda _
           (substitute* "src/ngircd/Makefile"
-            (("/bin/sh") (which "sh"))))
+            (("/bin/sh") (which "sh")))
+          ;; The default getpid.sh does a sloppy grep over 'ps -ax' output,
+          ;; which fails arbitrarily.
+          (with-output-to-file "src/testsuite/getpid.sh"
+            (lambda ()
+              (display
+               (string-append
+                "#!" (which "sh") "\n"
+                "ps -C \"$1\" -o pid=\n"))))
+          ;; Our variant of getpid.sh does not work for interpreter names if a
+          ;; shebang script is run directly as "./foo", so patch cases where
+          ;; the test suite relies on this.
+          (substitute* "src/testsuite/start-server.sh"
+            ;; It runs 'getpid.sh sh' to test if it works at all.  Run it on
+            ;; 'make' instead.
+            (("getpid.sh sh") "getpid.sh make")))
         %standard-phases)))
     (home-page "http://ngircd.barton.de/")
     (synopsis "Lightweight Internet Relay Chat server for small networks")