aboutsummaryrefslogtreecommitdiffstats
path: root/community/abseil-cpp/APKBUILD
blob: 69d4184ebd55a1b1c48d02efec1da78d4db84bc1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
pkgname=abseil-cpp
pkgver=20230125.3
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="
	atomic_hook_test_helper
	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
	exception_safety_testing
	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
	hash_generator_testing
	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_internal_test_actions
	log_internal_test_helpers
	log_internal_test_matchers
	log_severity
	log_sink
	low_level_hash
	malloc_internal
	per_thread_sem_test_common
	periodic_sampler
	pow10_helper
	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_mock_log
	scoped_set_env
	spinlock_test_common
	spinlock_wait
	stack_consumption
	stacktrace
	status
	statusor
	str_format_internal
	strerror
	strings
	strings_internal
	symbolize
	synchronization
	test_instance_tracker
	throw_delegate
	time
	time_internal_test_util
	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="
50509acfc4128fd31435631f71ac8cd0350acd9e290f78502723149016e7f07c9d84182ba99e0938b1873fecda09393d3fd7af8dabfb0d89cdcdd8a69a917e70  abseil-cpp-20230125.3.tar.gz
aca4f4d89c38ca9038fdeb5b9e92c68d7ce0dda79f83335238f5e8de08c1a4d1e1ddd00e9ad6da18f0ab4ee22b58d73039f5523dc9311c7dbe1998f0f59a0e58  0002-abseil.patch
"