SUMMARY="C++ Common Libraries" DESCRIPTION="Abseil is an open-source collection of C++ code (compliant to \ C++11) designed to augment the C++ standard library." HOMEPAGE="https://abseil.io" COPYRIGHT="2017-2023 The Abseil Authors" LICENSE="Apache v2" REVISION="1" SOURCE_URI="http://github.com/abseil/abseil-cpp/archive/$portVersion/abseil-$portVersion.tar.gz" CHECKSUM_SHA256="16242f394245627e508ec6bb296b433c90f8d914f73b9c026fddb905e27276e8" SOURCE_DIR="abseil-cpp-$portVersion" PATCHES="abseil_cpp-$portVersion.patchset" ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" libVersion="2501.0.0" libVersionCompat="$libVersion compat >= $libVersion" libs=" bad_optional_access bad_variant_access bad_any_cast_impl 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 decode_rust_punycode demangle_internal demangle_rust \ die_if_null examine_stack \ 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 hashtablez_sampler \ 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_severity log_sink \ low_level_hash malloc_internal \ periodic_sampler poison \ 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 string_view symbolize \ synchronization throw_delegate time time_zone tracing_internal \ utf8_for_code_point vlog_config_internal" PROVIDES=" abseil_cpp.2025$secondaryArchSuffix = $portVersion " for lib in $libs; do PROVIDES+=" lib:libabsl_$lib$secondaryArchSuffix = $libVersionCompat" done REQUIRES=" haiku$secondaryArchSuffix lib:libstdc++$secondaryArchSuffix " PROVIDES_devel=" abseil_cpp.2025${secondaryArchSuffix}_devel = $portVersion " for lib in $libs; do PROVIDES_devel+=" devel:libabsl_$lib$secondaryArchSuffix = $libVersionCompat" done REQUIRES_devel=" abseil_cpp.2025$secondaryArchSuffix == $portVersion base " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel " BUILD_PREREQUIRES=" cmd:cmake cmd:gcc$secondaryArchSuffix cmd:make cmd:pkg_config$secondaryArchSuffix " debugList=() for lib in $libs; do debugList+=("$libDir"/libabsl_$lib.so.$libVersion) done defineDebugInfoPackage abseil_cpp.2025$secondaryArchSuffix "${debugList[@]}" BUILD() { cmake -B build -S . $cmakeDirArgs \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_CXX_FLAGS="-DNDEBUG" \ -DCMAKE_CXX_STANDARD=17 \ -DBUILD_SHARED_LIBS=ON \ -DCMAKE_POSITION_INDEPENDENT_CODE=ON make -C build $jobArgs } INSTALL() { make -C build install PREFIX=$prefix for lib in $libs; do prepareInstalledDevelLibs libabsl_$lib done fixPkgconfig # devel package packageEntries devel \ $developDir \ $libDir/cmake }