# Contributor: Bart Ribbers # Maintainer: Duncan Bellamy pkgname=abseil-cpp pkgver=20230125.1 pkgrel=1 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 " _libs=" bad_any_cast_impl bad_optional_access bad_variant_access 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 debugging_internal demangle_internal die_if_null examine_stack exponential_biased failure_signal_handler flags 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 hashtablez_sampler int128 leak_check log_entry log_flags log_globals log_initialize log_internal_check_op log_internal_conditions log_internal_format log_internal_globals log_internal_log_sink_set log_internal_message log_internal_nullguard log_internal_proto log_severity log_sink low_level_hash malloc_internal periodic_sampler random_distributions random_internal_distribution_test_util random_internal_platform random_internal_pool_urbg 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_set_env spinlock_wait stacktrace status statusor str_format_internal strerror strings strings_internal symbolize synchronization throw_delegate time time_zone " for _lib in $_libs; do subpackages="$subpackages $pkgname-${_lib//_/-}:abseillib" done build() { cmake -B build -G Ninja \ -DCMAKE_CXX_STANDARD=17 \ -DCMAKE_BUILD_TYPE=MinSizeRel \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LIBDIR=lib \ -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 } # disable broken tests check() { CTEST_OUTPUT_ON_FAILURE=TRUE ctest --test-dir build -E "absl_str_format_convert_test|absl_mutex_test\ |absl_notification_test|absl_per_thread_sem_test|absl_sysinfo_test|absl_random_beta_distribution_test|absl_cord_rep_btree_navigator_test" } package() { DESTDIR="$pkgdir" cmake --install build } abseillib() { pkgdesc="Abseil Common C++ library: $subpkgname" local libname="${subpkgname#"$pkgname"-}" amove usr/lib/libabsl_${libname//-/_}.so.* } sha512sums=" 160764e2d10f1a5970b6ea7323868d231070c57b48fcc92e3614bca9d0e9ee0a571b66dfdc560934883de542f32dfbb1ba7b03c11bda8f03e63a5f31e273be6a abseil-cpp-20230125.1.tar.gz aca4f4d89c38ca9038fdeb5b9e92c68d7ce0dda79f83335238f5e8de08c1a4d1e1ddd00e9ad6da18f0ab4ee22b58d73039f5523dc9311c7dbe1998f0f59a0e58 0002-abseil.patch "