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-2022 The Abseil Authors" 6LICENSE="Apache v2" 7REVISION="1" 8SOURCE_URI="http://github.com/abseil/abseil-cpp/archive/$portVersion/abseil-$portVersion.tar.gz" 9CHECKSUM_SHA256="91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8" 10SOURCE_DIR="abseil-cpp-$portVersion" 11PATCHES="abseil_cpp-$portVersion.patchset" 12 13ARCHITECTURES="all !x86_gcc2" 14SECONDARY_ARCHITECTURES="x86" 15 16libVersion="2206.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 debugging_internal demangle_internal examine_stack \ 22exponential_biased failure_signal_handler flags flags_commandlineflag \ 23flags_commandlineflag_internal flags_config flags_internal flags_marshalling \ 24flags_parse flags_private_handle_accessor flags_program_name flags_reflection \ 25flags_usage flags_usage_internal graphcycles_internal hash hashtablez_sampler \ 26int128 leak_check log_severity low_level_hash malloc_internal \ 27periodic_sampler random_distributions random_internal_distribution_test_util \ 28random_internal_platform random_internal_pool_urbg random_internal_randen \ 29random_internal_randen_hwaes random_internal_randen_hwaes_impl \ 30random_internal_randen_slow random_internal_seed_material \ 31random_seed_gen_exception random_seed_sequences raw_hash_set \ 32raw_logging_internal scoped_set_env spinlock_wait stacktrace status statusor \ 33str_format_internal strerror strings strings_internal symbolize \ 34synchronization throw_delegate time time_zone" 35PROVIDES=" 36 abseil_cpp.2022$secondaryArchSuffix = $portVersion 37 " 38for lib in $libs; do 39 PROVIDES+=" 40 lib:libabsl_$lib$secondaryArchSuffix = $libVersionCompat" 41done 42REQUIRES=" 43 haiku$secondaryArchSuffix 44 lib:libstdc++$secondaryArchSuffix 45 " 46 47PROVIDES_devel=" 48 abseil_cpp.2022${secondaryArchSuffix}_devel = $portVersion 49 " 50for lib in $libs; do 51 PROVIDES_devel+=" 52 devel:libabsl_$lib$secondaryArchSuffix = $libVersionCompat" 53done 54REQUIRES_devel=" 55 abseil_cpp.2022$secondaryArchSuffix == $portVersion base 56 " 57CONFLICTS_devel=" 58 abseil_cpp${secondaryArchSuffix}_devel 59 " 60 61BUILD_REQUIRES=" 62 haiku${secondaryArchSuffix}_devel 63 " 64BUILD_PREREQUIRES=" 65 cmd:cmake 66 cmd:gcc$secondaryArchSuffix 67 cmd:make 68 cmd:pkg_config$secondaryArchSuffix 69 " 70 71debugList=() 72for lib in $libs; do 73 debugList+=("$libDir"/libabsl_$lib.so.$libVersion) 74done 75defineDebugInfoPackage abseil_cpp.2022$secondaryArchSuffix "${debugList[@]}" 76 77BUILD() 78{ 79 cmake -B build -S . $cmakeDirArgs \ 80 -DCMAKE_BUILD_TYPE=RelWithDebInfo \ 81 -DCMAKE_CXX_FLAGS="-DNDEBUG" \ 82 -DCMAKE_CXX_STANDARD=17 \ 83 -DBUILD_SHARED_LIBS=ON \ 84 -DCMAKE_POSITION_INDEPENDENT_CODE=ON 85 make -C build $jobArgs 86} 87 88INSTALL() 89{ 90 make -C build install PREFIX=$prefix 91 92 for lib in $libs; do 93 prepareInstalledDevelLibs libabsl_$lib 94 done 95 96 fixPkgconfig 97 98 # devel package 99 packageEntries devel \ 100 $developDir \ 101 $libDir/cmake 102} 103