gnu: abseil-cpp-20220623: Remove inheritance.

* gnu/packages/cpp.scm (abseil-cpp-20220623): Remove inheritance from
abseil-cpp-20200923.3 while keeping the derivation unchanged.
(abseil-cpp-20200923.3): Update comment.

Change-Id: I7d5fad14211127272769a02461c6f96cd8a073e4
This commit is contained in:
Andreas Enge 2025-09-17 17:02:04 +02:00
parent 036e8fada3
commit 05fc558fb2
No known key found for this signature in database
GPG key ID: F7D5C9BF765C61E3

View file

@ -48,6 +48,7 @@
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 Romain Garbage <romain.garbage@inria.fr>
;;; Copyright © 2024, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -2042,8 +2043,7 @@ point and then, after each tween step, plugging back the result.")
(license license:expat)))
(define-public abseil-cpp-20200923.3
;; This is not needed anymore except as a base of inheritance for
;; abseil-cpp-20220623.
;; This is not needed anymore.
(package
(name "abseil-cpp")
(version "20200923.3")
@ -2098,27 +2098,64 @@ Google's C++ code base.")
(license license:asl2.0)))
(define-public abseil-cpp-20220623
(let ((base abseil-cpp-20200923.3))
(package
(inherit base)
(name "abseil-cpp")
(version "20220623.2")
(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
"1cmchfcqp85yp5hc3i47xv3i14v0f2wd5h2jblvcjjmjyhji1bwr"))
(patches
(search-patches "abseil-cpp-20220623.1-no-kepsilon-i686.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:configure-flags flags)
`(cons* "-DABSL_BUILD_TESTING=ON"
(delete "-DABSL_RUN_TESTS=ON" ,flags))))))))
(package
(name "abseil-cpp")
(version "20220623.2")
(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
"1cmchfcqp85yp5hc3i47xv3i14v0f2wd5h2jblvcjjmjyhji1bwr"))
(patches
(search-patches "abseil-cpp-20220623.1-no-kepsilon-i686.patch"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
;; The following convoluted expression has been crafted to avoid
;; changing the derivation when removing inheritance from
;; abseil-cpp-20200923.3.
#~(cons*
"-DABSL_BUILD_TESTING=ON"
(delete
"-DABSL_RUN_TESTS=ON"
(list "-DBUILD_SHARED_LIBS=ON"
"-DABSL_RUN_TESTS=ON"
"-DABSL_USE_EXTERNAL_GOOGLETEST=ON"
;; Needed, else we get errors like:
;; ld: CMakeFiles/absl_periodic_sampler_test.dir/internal/periodic_sampler_test.cc.o:
;; undefined reference to symbol '_ZN7testing4Mock16UnregisterLockedEPNS_8internal25UntypedFunctionMockerBaseE'
;; ld: /gnu/store/...-googletest-1.10.0/lib/libgmock.so:
;; error adding symbols: DSO missing from command line
;; collect2: error: ld returned 1 exit status
"-DCMAKE_EXE_LINKER_FLAGS=-lgtest -lpthread -lgmock")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-max
(lambda _
(substitute* "absl/debugging/failure_signal_handler.cc"
(("std::max\\(SIGSTKSZ, 65536\\)")
"std::max<size_t>(SIGSTKSZ, 65536)"))))
(add-before 'configure 'remove-gtest-check
;; The CMakeLists fails to find our googletest for some reason, but
;; it works nonetheless.
(lambda _
(substitute* "CMakeLists.txt"
(("check_target\\(gtest\\)") "")
(("check_target\\(gtest_main\\)") "")
(("check_target\\(gmock\\)") "")))))))
(native-inputs
(list googletest))
(home-page "https://abseil.io")
(synopsis "Augmented C++ standard library")
(description "Abseil is a collection of C++ library code designed to
augment the C++ standard library. The Abseil library code is collected from
Google's C++ code base.")
(license license:asl2.0)))
(define-public abseil-cpp
(let ((base abseil-cpp-20220623))