diff mbox series

[bug#66733,v3] gnu: abseil-cpp: Update to 20230802.1.

Message ID 20231127191903.96287-1-code@greghogan.com
State New
Headers show
Series [bug#66733,v3] gnu: abseil-cpp: Update to 20230802.1. | expand

Commit Message

Greg Hogan Nov. 27, 2023, 7:19 p.m. UTC
v3: rebase and fix for gexp per Ludo'.

* gnu/packages/cpp.scm (abseil-cpp): Update to 20230802.1.
[arguments]<#:phases>: Add phase to set timezone environment variable.
* gnu/packages/cpp.scm (abseil-cpp-20220623.1): Keep old version.
* gnu/packages/cpp.scm (abseil-cpp-for-c++-standard): Accept package to
inherit from.
* gnu/packages/cpp.scm (abseil-cpp-cxxstd11, abseil-cpp-cxxstd17):
Inherit from latest supported version.
---
 gnu/packages/cpp.scm | 50 ++++++++++++++++++++++++++++++++------------
 1 file changed, 37 insertions(+), 13 deletions(-)

Comments

Ludovic Courtès Dec. 4, 2023, 8:55 p.m. UTC | #1
Hi,

Greg Hogan <code@greghogan.com> skribis:

> v3: rebase and fix for gexp per Ludo'.
>
> * gnu/packages/cpp.scm (abseil-cpp): Update to 20230802.1.
> [arguments]<#:phases>: Add phase to set timezone environment variable.
> * gnu/packages/cpp.scm (abseil-cpp-20220623.1): Keep old version.
> * gnu/packages/cpp.scm (abseil-cpp-for-c++-standard): Accept package to
> inherit from.
> * gnu/packages/cpp.scm (abseil-cpp-cxxstd11, abseil-cpp-cxxstd17):
> Inherit from latest supported version.

Applied, thanks!

Ludo’.
diff mbox series

Patch

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 5e35a03254..2cfb89eb2c 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -1263,7 +1263,7 @@  (define-public abseil-cpp-20211102.0
          ((#:configure-flags flags)
           #~(cons* "-DCMAKE_CXX_STANDARD=11" #$flags)))))))
 
-(define-public abseil-cpp
+(define-public abseil-cpp-20220623.1
   (let ((base abseil-cpp-20200923.3))
     (package
       (inherit base)
@@ -1284,16 +1284,40 @@  (define-public abseil-cpp
           `(cons* "-DABSL_BUILD_TESTING=ON"
                   (delete "-DABSL_RUN_TESTS=ON" ,flags))))))))
 
-(define (abseil-cpp-for-c++-standard version)
-  (let ((base abseil-cpp))
-    (hidden-package
-     (package/inherit base
-       (arguments
-        (substitute-keyword-arguments (package-arguments base)
-          ((#:configure-flags flags)
-           #~(cons* #$(string-append "-DCMAKE_CXX_STANDARD="
-                                     (number->string version))
-                    #$flags))))))))
+(define-public abseil-cpp
+  (let ((base abseil-cpp-20220623.1))
+    (package
+      (inherit base)
+      (name "abseil-cpp")
+      (version "20230802.1")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/abseil/abseil-cpp")
+                      (commit version)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1ydkkbanrpkp5i814arzsk973kyzhhjhagnp392rq6rrv16apldq"))))
+      (arguments
+       (substitute-keyword-arguments (package-arguments base)
+         ((#:phases phases)
+          #~(modify-phases #$phases
+              (add-before 'check 'set-env-vars
+                (lambda* (#:key inputs #:allow-other-keys)
+                 ;; absl_time_test requires this environment variable.
+                 (setenv "TZDIR" (string-append #$(package-source base)
+                                                "/absl/time/internal/cctz/testdata/zoneinfo")))))))))))
+
+(define (abseil-cpp-for-c++-standard base version)
+  (hidden-package
+   (package/inherit base
+     (arguments
+      (substitute-keyword-arguments (package-arguments base)
+        ((#:configure-flags flags)
+         #~(cons* #$(string-append "-DCMAKE_CXX_STANDARD="
+                                   (number->string version))
+                  #$flags)))))))
 
 (define (make-static-abseil-cpp version)
   (let ((base abseil-cpp))
@@ -1306,10 +1330,10 @@  (define (make-static-abseil-cpp version)
                     (delete "-DBUILD_SHARED_LIBS=ON" #$flags)))))))))
 
 (define-public abseil-cpp-cxxstd17
-  (abseil-cpp-for-c++-standard 17))             ;XXX: the default with GCC 11?
+  (abseil-cpp-for-c++-standard abseil-cpp 17))  ;XXX: the default with GCC 11?
 
 (define-public abseil-cpp-cxxstd11
-  (abseil-cpp-for-c++-standard 11))
+  (abseil-cpp-for-c++-standard abseil-cpp-20220623.1 11)) ;last version on C++11
 
 (define-public static-abseil-cpp
   (make-static-abseil-cpp abseil-cpp))