Subject: [PATCH] gnu: rocksdb: Disable tests on 32-bit systems.

From: Marius Bakke <[email-masked]>
Date: Wed, 29 Mar 2017 11:42:20 +0200

* gnu/packages/databases.scm (rocksdb)[arguments]: Make #:tests? conditional.
Delete unnecessary 'build' phase.
---
 gnu/packages/databases.scm | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index b87e8a210..e73635910 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -533,12 +533,20 @@ types are supported, as is encryption.")
                   #t))))
     (build-system gnu-build-system)
     (arguments
-     '(#:make-flags (list "CC=gcc"
+     `(#:make-flags (list "CC=gcc"
                           ;; Make the resulting library position-independent so the
                           ;; static version can be included in shared objects.
                           "EXTRA_CXXFLAGS=-fPIC"
                           (string-append "INSTALL_PATH="
                                          (assoc-ref %outputs "out")))
+       ;; Many tests fail on 32-bit platforms. There are multiple reports about
+       ;; this upstream, but it's not going to be supported any time soon.
+       #:tests? (let ((system ,(or (%current-target-system)
+                                   (%current-system)))
+                      (supported-systems '("x86_64-linux" "aarch64-linux")))
+                  (if (member system supported-systems)
+                      #t
+                      #f))
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-Makefile
@@ -548,6 +556,8 @@ types are supported, as is encryption.")
                (("#!/bin/sh") (string-append "#!" (which "sh"))))
              #t))
          (delete 'configure)
+         ;; The default target is only needed for tests and built on demand.
+         (delete 'build)
          (add-before 'check 'disable-failing-tests
            (lambda _
              (substitute* "Makefile"
-- 
2.12.2