1SUMMARY="Experimental range library for C++11/14/17"
2DESCRIPTION="Ranges are an extension of the Standard Template Library that \
3makes its iterators and algorithms more powerful by making them composable. \
4Unlike other range-like solutions which seek to do away with iterators, in \
5range-v3 ranges are an abstration layer on top of iterators.
6
7Range-v3 is built on three pillars: Views, Actions, and Algorithms. \
8The algorithms are the same as those with which you are already familiar \
9in the STL, except that in range-v3 all the algorithms have overloads that \
10take ranges in addition to the overloads that take iterators. Views are \
11composable adaptations of ranges where the adaptation happens lazily as the \
12view is iterated. And an action is an eager application of an algorithm to a \
13container that mutates the container in-place and returns it for further processing."
14HOMEPAGE="https://github.com/ericniebler/range-v3"
15COPYRIGHT="2021 Eric Niebler"
16LICENSE="Boost v1.0"
17REVISION="1"
18SOURCE_URI="https://github.com/ericniebler/range-v3/archive/$portVersion.tar.gz"
19CHECKSUM_SHA256="376376615dbba43d3bef75aa590931431ecb49eb36d07bb726a19f680c75e20c"
20SOURCE_DIR="range-v3-$portVersion"
21PATCHES="range_v3-$portVersion.patchset"
22
23ARCHITECTURES="all !x86_gcc2"
24SECONDARY_ARCHITECTURES="x86"
25
26PROVIDES="
27	range_v3$secondaryArchSuffix = $portVersion
28	devel:range_v3$secondaryArchSuffix = $portVersion
29	"
30REQUIRES="
31	haiku$secondaryArchSuffix
32	"
33
34BUILD_REQUIRES="
35	haiku${secondaryArchSuffix}_devel
36	"
37BUILD_PREREQUIRES="
38	cmd:cmake
39	cmd:gcc$secondaryArchSuffix
40	cmd:ld$secondaryArchSuffix
41	cmd:make
42	cmd:pkg_config$secondaryArchSuffix
43	"
44
45BUILD()
46{
47	mkdir -p build
48	cd build
49	cmake .. $cmakeDirArgs \
50        -DCMAKE_BUILD_TYPE=Release \
51		-DRANGE_V3_TESTS=OFF \
52		-DRANGE_V3_EXAMPLES=OFF \
53		-DRANGES_MODULES=ON \
54		-DRANGE_V3_PERF=OFF
55	make $jobArgs
56}
57
58INSTALL()
59{
60	cd build
61	make install
62	sed -i 's,\/include,/'${relativeIncludeDir}',g' \
63		$libDir/cmake/range-v3/range-v3-targets.cmake
64}
65