summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2017-04-14 21:03:31 +0200
committerMarius Bakke <mbakke@fastmail.com>2017-04-15 18:51:00 +0200
commitf91c677c03479c26a9c9ee5f2f44d8dc77bec262 (patch)
tree19b1596c0cc0d81c089a8155775aedfe88a0ca6a
parentbf144793aeb744fdc5bdfa98db776038ba0ea6c7 (diff)
downloadguix-f91c677c03479c26a9c9ee5f2f44d8dc77bec262.tar.gz
gnu: rocksdb: Don't build static library.
* gnu/packages/databases.scm (rocksdb)[arguments]<#:phases>: Add new Makefile
substitution. Remove 'delete-static-library' phase. Adjust
'build-release-libraries' phase to match.
<#:make-flags>: Remove redundant flag.
-rw-r--r--gnu/packages/databases.scm35
1 files changed, 12 insertions, 23 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 4dad473de3..cc2f8a2f92 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -576,9 +576,6 @@ types are supported, as is encryption.")
     (build-system gnu-build-system)
     (arguments
      '(#: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")))
        #:phases
@@ -587,6 +584,9 @@ types are supported, as is encryption.")
            (lambda _
              (substitute* "Makefile"
                (("build_tools/gnu_parallel") "parallel")
+               ;; Don't depend on the static library when installing.
+               (("install: install-static")
+                "install: install-shared")
                (("#!/bin/sh") (string-append "#!" (which "sh"))))
              #t))
          (delete 'configure)
@@ -600,26 +600,15 @@ types are supported, as is encryption.")
                (("^[[:blank:]]+env_test[[:blank:]]+\\\\") "\\")
                (("^[[:blank:]]+persistent_cache_test[[:blank:]]+\\\\") "\\"))
              #t))
-         (add-after
-          'check 'build-release-libraries
-          ;; The 'check' target depends on the default target which is compiled
-          ;; with debug symbols. The 'install' target depends on shared and
-          ;; static release targets so we build them here for clarity.
-          ;; TODO: Add debug output.
-          (lambda* (#:key (make-flags '()) #:allow-other-keys)
-            ;; Prevent the build from adding machine-specific optimizations.
-            ;; This does not work if passed as a make flag...
-            (setenv "PORTABLE" "1")
-            (and (zero? (apply system* "make" "static_lib" make-flags))
-                 (zero? (apply system* "make" "shared_lib" make-flags)))))
-         (add-after 'install 'delete-static-library
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (lib (string-append out "/lib")))
-               (for-each (lambda (file)
-                           (delete-file file))
-                         (find-files lib "\\.l?a$"))
-               #t))))))
+         (add-after 'check 'build-release-libraries
+           ;; The default build target is a debug build for tests. The
+           ;; install target depends on "shared_lib" and "static_lib"
+           ;; targets for release builds so we build them here for clarity.
+           ;; TODO: Add debug output.
+           (lambda* (#:key (make-flags '()) #:allow-other-keys)
+             ;; Prevent the build from adding machine-specific optimizations.
+             (setenv "PORTABLE" "1")
+             (zero? (apply system* "make" "shared_lib" make-flags)))))))
     (native-inputs
      `(("parallel" ,parallel)
        ("perl" ,perl)