2025-10-02 12:59:03 +02:00

173 lines
3.7 KiB
Plaintext

# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Leon White <badfunkstripe@gmail.com>
pkgname=abseil-cpp
pkgver=20250814.1
pkgrel=0
pkgdesc="Abseil Common Libraries (C++)"
url="https://abseil.io/"
arch="all"
license="Apache-2.0"
depends_dev="linux-headers"
makedepends="
$depends_dev
cmake
gtest-dev
samurai
"
checkdepends="tzdata"
subpackages="$pkgname-dev"
source="https://github.com/abseil/abseil-cpp/archive/$pkgver/abseil-cpp-$pkgver.tar.gz
0002-abseil.patch
test.patch
"
_libs="
base
city
civil_time
cord
cord_internal
cordz_functions
cordz_handle
cordz_info
cordz_sample_token
crc32c
crc_cord_state
crc_cpu_detect
crc_internal
decode_rust_punycode
debugging_internal
demangle_internal
demangle_rust
die_if_null
examine_stack
exception_safety_testing
exponential_biased
failure_signal_handler
flags_commandlineflag
flags_commandlineflag_internal
flags_config
flags_internal
flags_marshalling
flags_parse
flags_private_handle_accessor
flags_program_name
flags_reflection
flags_usage
flags_usage_internal
graphcycles_internal
hash
hash_generator_testing
hashtablez_sampler
hashtable_profiler
int128
kernel_timeout_internal
leak_check
log_entry
log_flags
log_globals
log_initialize
log_internal_check_op
log_internal_conditions
log_internal_fnmatch
log_internal_format
log_internal_globals
log_internal_log_sink_set
log_internal_message
log_internal_nullguard
log_internal_proto
log_internal_structured_proto
log_internal_test_actions
log_internal_test_helpers
log_internal_test_matchers
log_severity
log_sink
malloc_internal
per_thread_sem_test_common
periodic_sampler
poison
pow10_helper
profile_builder
random_distributions
random_internal_entropy_pool
random_internal_distribution_test_util
random_internal_platform
random_internal_randen
random_internal_randen_hwaes
random_internal_randen_hwaes_impl
random_internal_randen_slow
random_internal_seed_material
random_seed_gen_exception
random_seed_sequences
raw_hash_set
raw_logging_internal
scoped_mock_log
scoped_set_env
spinlock_test_common
spinlock_wait
stack_consumption
stacktrace
status
status_matchers
statusor
str_format_internal
strerror
string_view
strings
strings_internal
symbolize
synchronization
test_instance_tracker
throw_delegate
time
time_internal_test_util
time_zone
tracing_internal
utf8_for_code_point
vlog_config_internal
"
for _lib in $_libs; do
subpackages="$subpackages $pkgname-${_lib//_/-}:abseillib"
done
build() {
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=MinSizeRel \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_SKIP_INSTALL_RPATH=ON \
-DBUILD_SHARED_LIBS=ON \
-DABSL_BUILD_TESTING=ON \
-DABSL_BUILD_TEST_HELPERS=ON \
-DABSL_USE_EXTERNAL_GOOGLETEST=ON \
-DABSL_PROPAGATE_CXX_STD=ON \
-DABSL_FIND_GOOGLETEST=ON
cmake --build build
}
check() {
case "$CARCH" in
s390x) local _extratest="|absl_stacktrace_test" ;;
esac
# https://github.com/abseil/abseil-cpp/pull/1888
ctest --test-dir build -E "absl_str_format_convert_test|absl_raw_hash_set_test$_extratest"
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
abseillib() {
pkgdesc="Abseil Common C++ library: $subpkgname"
local libname="${subpkgname#"$pkgname"-}"
amove usr/lib/libabsl_${libname//-/_}.so.*
}
sha512sums="
7083b73c3cf763f6f7a7edb70a5171f44d27045a0f5e52ca043e0a86379af2c50cf85dbfea30ebaa22a7bb2929452581d26b1ba18945023b057267d4c3bad2f7 abseil-cpp-20250814.1.tar.gz
ddd2a5ce3f37230c3976a8c088670951ebaeee7f1a8275ab4f699cc24dc038bf23ae37abb1c050269161dcd4343e4a75f0570867e6b16a0050af7657f2282e9d 0002-abseil.patch
6aafc9e3e3f5fc51d3ea0ac45a0461bb4b499df58c434bca9d3f233cfe26dccf13f8599af6aa4bebb74f5f0f463f31fda682c495a892946a7706da694b0d0b3b test.patch
"