summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2021-11-05 16:53:13 +0100
committerMarius Bakke <marius@gnu.org>2021-11-06 17:41:41 +0100
commit71ad48f7bbbb581e53c110224c591b81e3c47b0c (patch)
tree66dd7a1e3222b20b0e1d8835703055d2e288f642 /gnu
parent3c6cbd866c44542297da09f9d00392b52acc99e5 (diff)
downloadguix-71ad48f7bbbb581e53c110224c591b81e3c47b0c.tar.gz
gnu: RocksDB: Update to 6.25.3.
* gnu/packages/databases.scm (rocksdb): Update to 6.25.3.
[inputs]: Change from PYTHON-2 to PYTHON.
[arguments]: Adjust #:make-flags for upstream changes.  Use a less arbitrary
test subset.  Move the disable-optimizations phase contents to #:make-flags.
Introduce 'clean' phase.  While here, fix cross-compilation and remove
trailing #t's.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/databases.scm61
1 files changed, 30 insertions, 31 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 1849eca702..56dbf6440f 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -1359,7 +1359,7 @@ including field and record folding.")))
 (define-public rocksdb
   (package
     (name "rocksdb")
-    (version "6.11.4")
+    (version "6.25.3")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -1368,35 +1368,37 @@ including field and record folding.")))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0n19p9cd13jg0lnibrzwkxs4xlrhyj3knypkd2ic41arbds0bdnl"))
+                "14150kd7hk8jjwpm28bf3a0agrhyapbq9lgnl00l385vfb73wnzl"))
               (modules '((guix build utils)))
               (snippet
                '(begin
                   ;; TODO: unbundle gtest.
                   (delete-file "build_tools/gnu_parallel")
                   (substitute* "Makefile"
-                    (("build_tools/gnu_parallel") "parallel"))
-                  #t))))
+                    (("build_tools/gnu_parallel") "parallel"))))))
     (build-system gnu-build-system)
     (arguments
-     `(#:make-flags (list "CC=gcc" "V=1"
+     `(#:make-flags (list (string-append "CC=" ,(cc-for-target))
+                          (string-append "PREFIX=" (assoc-ref %outputs "out"))
                           ;; Ceph requires that RTTI is enabled.
                           "USE_RTTI=1"
-                          "date=1970-01-01" ; build reproducibly
-                          (string-append "INSTALL_PATH="
-                                         (assoc-ref %outputs "out"))
+                          ;; Don't pass '-march=native' to the compiler.
+                          "PORTABLE=1"
+                          ;; Use a deterministic date stamp.
+                          "build_date=1970-01-01"
 
                           ;; Running the full test suite takes hours and require
                           ;; a lot of disk space.  Instead we only run a subset
-                          ;; (see .travis.yml and Makefile).
-                          "ROCKSDBTESTS_END=db_tailing_iter_test")
+                          ;; that exercises platform-specific functionality.
+                          "ROCKSDBTESTS_PLATFORM_DEPENDENT=only")
        #:test-target "check_some"
        ;; 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))))
-                  (or (string-prefix? "x86_64-linux" system)
-                      (string-prefix? "aarch64-linux" system)))
+       #:tests? ,(if (%current-target-system)
+                     #f
+                     (let ((system (%current-system)))
+                       (or (string-prefix? "x86_64-linux" system)
+                           (string-prefix? "aarch64-linux" system))))
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-Makefile
@@ -1404,9 +1406,8 @@ including field and record folding.")))
              (substitute* "Makefile"
                ;; Don't depend on the static library when installing.
                (("install: install-static")
-                "install: install-shared")
-               (("#!/bin/sh") (string-append "#!" (which "sh"))))
-             #t))
+                "install:")
+               (("#!/bin/sh") (string-append "#!" (which "sh"))))))
          (delete 'configure)
          ;; The default target is only needed for tests and built on demand.
          (delete 'build)
@@ -1419,33 +1420,31 @@ including field and record folding.")))
              (let ((test-dir (string-append (getcwd) "/../test")))
                (mkdir test-dir)
                (setenv "TEST_TMPDIR" (canonicalize-path test-dir)))))
-         (add-before 'check 'disable-optimizations
-           (lambda _
-             ;; Prevent the build from passing '-march=native' to the compiler.
-             (setenv "PORTABLE" "1")
-             #t))
          (add-before 'check 'disable-failing-tests
            (lambda _
              (substitute* "Makefile"
                ;; These tests reliably fail due to "Too many open files".
                (("^[[:blank:]]+env_test[[:blank:]]+\\\\") "\\")
-               (("^[[:blank:]]+persistent_cache_test[[:blank:]]+\\\\") "\\"))
-             #t))
-         (add-after 'check 'build
+               (("^[[:blank:]]+persistent_cache_test[[:blank:]]+\\\\") "\\"))))
+         (add-after 'check 'clean
+           (lambda _
+             ;; Otherwise stale objects from the tests would interfere.
+             (invoke "make" "clean")))
+         (add-after 'clean 'build
            ;; The default build target is a debug build for tests. The
            ;; install target depends on the "shared_lib" release target
            ;; so we build it here for clarity.
            (lambda* (#:key (make-flags '()) parallel-build? #:allow-other-keys)
-               (apply invoke "make" "shared_lib"
-                      `(,@(if parallel-build?
-                              `("-j" ,(number->string (parallel-job-count)))
-                              '())
-                        ,@make-flags)))))))
+             (apply invoke "make" "shared_lib"
+                    `(,@(if parallel-build?
+                            `("-j" ,(number->string (parallel-job-count)))
+                            '())
+                      ,@make-flags)))))))
     (native-inputs
      `(("parallel" ,parallel)
        ("perl" ,perl)
        ("procps" ,procps)
-       ("python" ,python-2)
+       ("python" ,python)
        ("which" ,which)))
     (inputs
      `(("bzip2" ,bzip2)