gnu: rocksdb: Update to 5.10.4.
* gnu/packages/databases.scm (rocksdb): Update to 5.10.4. [source]: Substitute the unbundled copy of GNU Parallel. [arguments]: Add "V=1" "USE_RTTI=1" and "ROCKSDBTESTS_END=db_tailing_iter_test" to #:make-flags. Set #:test-target to "check_some". Respect parallel jobs in 'build-release-libraries' phase and rename to 'build'. [license]: Update for changes in 5.5.4.
This commit is contained in:
		
							parent
							
								
									81ed306dee
								
							
						
					
					
						commit
						7fa9cca84a
					
				
					 1 changed files with 27 additions and 17 deletions
				
			
		| 
						 | 
					@ -17,7 +17,7 @@
 | 
				
			||||||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
 | 
					;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
 | 
				
			||||||
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
 | 
					;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
 | 
				
			||||||
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
 | 
					;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
 | 
				
			||||||
;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
 | 
					;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
 | 
				
			||||||
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
 | 
					;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
 | 
				
			||||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
 | 
					;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
 | 
				
			||||||
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
 | 
					;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
 | 
				
			||||||
| 
						 | 
					@ -841,7 +841,7 @@ types are supported, as is encryption.")
 | 
				
			||||||
(define-public rocksdb
 | 
					(define-public rocksdb
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "rocksdb")
 | 
					    (name "rocksdb")
 | 
				
			||||||
    (version "5.2.1")
 | 
					    (version "5.10.4")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://github.com/facebook/rocksdb"
 | 
					              (uri (string-append "https://github.com/facebook/rocksdb"
 | 
				
			||||||
| 
						 | 
					@ -849,18 +849,28 @@ types are supported, as is encryption.")
 | 
				
			||||||
              (file-name (string-append name "-" version ".tar.gz"))
 | 
					              (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1v2q05bl56sfp51m09z7g6489hkfq4vf6b4qgfg3d96ylgmay9yb"))
 | 
					                "0hp7jxr99vyc57n708hiqk4lks9a9zmjgfjc21mx6v1rmabj2944"))
 | 
				
			||||||
              (modules '((guix build utils)))
 | 
					              (modules '((guix build utils)))
 | 
				
			||||||
              (snippet
 | 
					              (snippet
 | 
				
			||||||
               '(begin
 | 
					               '(begin
 | 
				
			||||||
                  ;; TODO: unbundle gtest.
 | 
					                  ;; TODO: unbundle gtest.
 | 
				
			||||||
                  (delete-file "build_tools/gnu_parallel")
 | 
					                  (delete-file "build_tools/gnu_parallel")
 | 
				
			||||||
 | 
					                  (substitute* "Makefile"
 | 
				
			||||||
 | 
					                    (("build_tools/gnu_parallel") "parallel"))
 | 
				
			||||||
                  #t))))
 | 
					                  #t))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:make-flags (list "CC=gcc"
 | 
					     `(#:make-flags (list "CC=gcc" "V=1"
 | 
				
			||||||
 | 
					                          ;; Ceph requires that RTTI is enabled.
 | 
				
			||||||
 | 
					                          "USE_RTTI=1"
 | 
				
			||||||
                          (string-append "INSTALL_PATH="
 | 
					                          (string-append "INSTALL_PATH="
 | 
				
			||||||
                                         (assoc-ref %outputs "out")))
 | 
					                                         (assoc-ref %outputs "out"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                          ;; 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")
 | 
				
			||||||
 | 
					       #:test-target "check_some"
 | 
				
			||||||
       ;; Many tests fail on 32-bit platforms. There are multiple reports about
 | 
					       ;; 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.
 | 
					       ;; this upstream, but it's not going to be supported any time soon.
 | 
				
			||||||
       #:tests? (let ((system ,(or (%current-target-system)
 | 
					       #:tests? (let ((system ,(or (%current-target-system)
 | 
				
			||||||
| 
						 | 
					@ -872,7 +882,6 @@ types are supported, as is encryption.")
 | 
				
			||||||
         (add-after 'unpack 'patch-Makefile
 | 
					         (add-after 'unpack 'patch-Makefile
 | 
				
			||||||
           (lambda _
 | 
					           (lambda _
 | 
				
			||||||
             (substitute* "Makefile"
 | 
					             (substitute* "Makefile"
 | 
				
			||||||
               (("build_tools/gnu_parallel") "parallel")
 | 
					 | 
				
			||||||
               ;; Don't depend on the static library when installing.
 | 
					               ;; Don't depend on the static library when installing.
 | 
				
			||||||
               (("install: install-static")
 | 
					               (("install: install-static")
 | 
				
			||||||
                "install: install-shared")
 | 
					                "install: install-shared")
 | 
				
			||||||
| 
						 | 
					@ -889,20 +898,20 @@ types are supported, as is encryption.")
 | 
				
			||||||
         (add-before 'check 'disable-failing-tests
 | 
					         (add-before 'check 'disable-failing-tests
 | 
				
			||||||
           (lambda _
 | 
					           (lambda _
 | 
				
			||||||
             (substitute* "Makefile"
 | 
					             (substitute* "Makefile"
 | 
				
			||||||
               ;; This test fails with GCC-5 and is unmaintained.
 | 
					 | 
				
			||||||
               ;; https://github.com/facebook/rocksdb/issues/2148
 | 
					 | 
				
			||||||
               (("^[[:blank:]]+spatial_db_test[[:blank:]]+\\\\") "\\")
 | 
					 | 
				
			||||||
               ;; These tests reliably fail due to "Too many open files".
 | 
					               ;; These tests reliably fail due to "Too many open files".
 | 
				
			||||||
               (("^[[:blank:]]+env_test[[:blank:]]+\\\\") "\\")
 | 
					               (("^[[:blank:]]+env_test[[:blank:]]+\\\\") "\\")
 | 
				
			||||||
               (("^[[:blank:]]+persistent_cache_test[[:blank:]]+\\\\") "\\"))
 | 
					               (("^[[:blank:]]+persistent_cache_test[[:blank:]]+\\\\") "\\"))
 | 
				
			||||||
             #t))
 | 
					             #t))
 | 
				
			||||||
         (add-after 'check 'build-release-libraries
 | 
					         (add-after 'check 'build
 | 
				
			||||||
           ;; The default build target is a debug build for tests. The
 | 
					           ;; The default build target is a debug build for tests. The
 | 
				
			||||||
           ;; install target depends on "shared_lib" and "static_lib"
 | 
					           ;; install target depends on the "shared_lib" release target
 | 
				
			||||||
           ;; targets for release builds so we build them here for clarity.
 | 
					           ;; so we build it here for clarity.
 | 
				
			||||||
           ;; TODO: Add debug output.
 | 
					           (lambda* (#:key (make-flags '()) parallel-build? #:allow-other-keys)
 | 
				
			||||||
           (lambda* (#:key (make-flags '()) #:allow-other-keys)
 | 
					               (apply invoke "make" "shared_lib"
 | 
				
			||||||
             (zero? (apply system* "make" "shared_lib" make-flags)))))))
 | 
					                      `(,@(if parallel-build?
 | 
				
			||||||
 | 
					                              `("-j" ,(number->string (parallel-job-count)))
 | 
				
			||||||
 | 
					                              '())
 | 
				
			||||||
 | 
					                        ,@make-flags)))))))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("parallel" ,parallel)
 | 
					     `(("parallel" ,parallel)
 | 
				
			||||||
       ("perl" ,perl)
 | 
					       ("perl" ,perl)
 | 
				
			||||||
| 
						 | 
					@ -926,8 +935,9 @@ between @dfn{Write-Amplification-Factor} (WAF), @dfn{Read-Amplification-Factor}
 | 
				
			||||||
(RAF) and @dfn{Space-Amplification-Factor} (SAF).  It has multi-threaded
 | 
					(RAF) and @dfn{Space-Amplification-Factor} (SAF).  It has multi-threaded
 | 
				
			||||||
compactions, making it specially suitable for storing multiple terabytes of
 | 
					compactions, making it specially suitable for storing multiple terabytes of
 | 
				
			||||||
data in a single database.  RocksDB is partially based on @code{LevelDB}.")
 | 
					data in a single database.  RocksDB is partially based on @code{LevelDB}.")
 | 
				
			||||||
    ;; RocksDB is BSD-3 and the JNI adapter is Apache 2.0.
 | 
					    ;; RocksDB is dual licensed under GPL2 and ASL 2.0.  Some header
 | 
				
			||||||
    (license (list license:bsd-3 license:asl2.0))))
 | 
					    ;; files carry the 3-clause BSD license.
 | 
				
			||||||
 | 
					    (license (list license:gpl2 license:asl2.0 license:bsd-3))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public sparql-query
 | 
					(define-public sparql-query
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue