summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2023-10-30 11:33:32 +0100
committerRicardo Wurmus <rekado@elephly.net>2023-10-30 12:25:47 +0100
commit6797aac408793598db0050d85391b01dc3916b7f (patch)
tree09a67cca209876664628c49b0c60481f91485966 /gnu
parent5746d043a6433d1103dd8edf46df0b39c8bd3c7f (diff)
downloadguix-6797aac408793598db0050d85391b01dc3916b7f.tar.gz
gnu: Add static-abseil-cpp.
* gnu/packages/cpp.scm (static-abseil-cpp): New variable.
(make-static-abseil-cpp): New procedure.

Change-Id: I0b0b17b31461baf1189d7c818a82c99baad253c1
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/cpp.scm13
1 files changed, 13 insertions, 0 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 9a02de6334..0ce60c49de 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -1254,12 +1254,25 @@ Google's C++ code base.")
                                      (number->string version))
                     #$flags))))))))
 
+(define (make-static-abseil-cpp version)
+  (let ((base abseil-cpp))
+    (hidden-package
+     (package/inherit base
+       (arguments
+        (substitute-keyword-arguments (package-arguments base)
+          ((#:configure-flags flags)
+           #~(cons* "-DCMAKE_POSITION_INDEPENDENT_CODE=ON"
+                    (delete "-DBUILD_SHARED_LIBS=ON" #$flags)))))))))
+
 (define-public abseil-cpp-cxxstd17
   (abseil-cpp-for-c++-standard 17))             ;XXX: the default with GCC 11?
 
 (define-public abseil-cpp-cxxstd11
   (abseil-cpp-for-c++-standard 11))
 
+(define-public static-abseil-cpp
+  (make-static-abseil-cpp abseil-cpp))
+
 (define-public pegtl
   (package
     (name "pegtl")