1SUMMARY="C++ Common Libraries" 2DESCRIPTION="Abseil is an open-source collection of C++ code (compliant to \ 3C++11) designed to augment the C++ standard library." 4HOMEPAGE="https://abseil.io" 5COPYRIGHT="2017-2023 The Abseil Authors" 6LICENSE="Apache v2" 7REVISION="1" 8SOURCE_URI="http://github.com/abseil/abseil-cpp/archive/$portVersion/abseil-$portVersion.tar.gz" 9CHECKSUM_SHA256="5366d7e7fa7ba0d915014d387b66d0d002c03236448e1ba9ef98122c13b35c36" 10SOURCE_DIR="abseil-cpp-$portVersion" 11PATCHES="abseil_cpp-$portVersion.patchset" 12 13ARCHITECTURES="all !x86_gcc2" 14SECONDARY_ARCHITECTURES="x86" 15 16libVersion="2301.0.0" 17libVersionCompat="$libVersion compat >= $libVersion" 18libs=" 19bad_optional_access bad_variant_access bad_any_cast_impl base city \ 20civil_time cord cord_internal cordz_functions cordz_handle cordz_info \ 21cordz_sample_token crc32c crc_cord_state crc_cpu_detect crc_internal \ 22debugging_internal demangle_internal die_if_null examine_stack \ 23exponential_biased failure_signal_handler flags flags_commandlineflag \ 24flags_commandlineflag_internal flags_config flags_internal flags_marshalling \ 25flags_parse flags_private_handle_accessor flags_program_name flags_reflection \ 26flags_usage flags_usage_internal graphcycles_internal hash hashtablez_sampler \ 27int128 leak_check log_entry log_flags log_globals log_initialize log_internal_check_op \ 28log_internal_conditions log_internal_format log_internal_globals log_internal_log_sink_set \ 29log_internal_message log_internal_nullguard log_internal_proto log_severity log_sink \ 30low_level_hash malloc_internal \ 31periodic_sampler random_distributions random_internal_distribution_test_util \ 32random_internal_platform random_internal_pool_urbg random_internal_randen \ 33random_internal_randen_hwaes random_internal_randen_hwaes_impl \ 34random_internal_randen_slow random_internal_seed_material \ 35random_seed_gen_exception random_seed_sequences raw_hash_set \ 36raw_logging_internal scoped_set_env spinlock_wait stacktrace status statusor \ 37str_format_internal strerror strings strings_internal symbolize \ 38synchronization throw_delegate time time_zone" 39PROVIDES=" 40 abseil_cpp$secondaryArchSuffix = $portVersion 41 " 42for lib in $libs; do 43 PROVIDES+=" 44 lib:libabsl_$lib$secondaryArchSuffix = $libVersionCompat" 45done 46REQUIRES=" 47 haiku$secondaryArchSuffix 48 lib:libstdc++$secondaryArchSuffix 49 " 50 51PROVIDES_devel=" 52 abseil_cpp${secondaryArchSuffix}_devel = $portVersion 53 " 54for lib in $libs; do 55 PROVIDES_devel+=" 56 devel:libabsl_$lib$secondaryArchSuffix = $libVersionCompat" 57done 58REQUIRES_devel=" 59 abseil_cpp$secondaryArchSuffix == $portVersion base 60 " 61 62BUILD_REQUIRES=" 63 haiku${secondaryArchSuffix}_devel 64 " 65BUILD_PREREQUIRES=" 66 cmd:cmake 67 cmd:gcc$secondaryArchSuffix 68 cmd:make 69 cmd:pkg_config$secondaryArchSuffix 70 " 71 72debugList=() 73for lib in $libs; do 74 debugList+=("$libDir"/libabsl_$lib.so.$libVersion) 75done 76defineDebugInfoPackage abseil_cpp$secondaryArchSuffix "${debugList[@]}" 77 78BUILD() 79{ 80 cmake -B build -S . $cmakeDirArgs \ 81 -DCMAKE_BUILD_TYPE=RelWithDebInfo \ 82 -DCMAKE_CXX_FLAGS="-DNDEBUG" \ 83 -DCMAKE_CXX_STANDARD=17 \ 84 -DBUILD_SHARED_LIBS=ON \ 85 -DCMAKE_POSITION_INDEPENDENT_CODE=ON 86 make -C build $jobArgs 87} 88 89INSTALL() 90{ 91 make -C build install PREFIX=$prefix 92 93 for lib in $libs; do 94 prepareInstalledDevelLibs libabsl_$lib 95 done 96 97 fixPkgconfig 98 99 # devel package 100 packageEntries devel \ 101 $developDir \ 102 $libDir/cmake 103} 104