Failure to build with Clang
std::abs is only constexpr in C++23. As a result, the build will fail on MacOS:
FAILED: tests/CMakeFiles/affine-test.dir/affine-test.cpp.o
/nix/store/7v4rbxd8i0hsk2hgy8jnd4qn9vk89a86-clang-wrapper-11.1.0/bin/clang++ -DGTEST_LINKED_AS_SHARED_LIBRARY=1 -I/tmp/nix-build-lib2geom-1.3.drv-0/source/src/2geom -I/nix/store/8ccvpl4850i1y7dnfv7jpi4mr582kwla-glib-2.76.3-dev/include/glib-2.0 -I/nix/store/fqlkzr666qpvm51djdvw88fn4wf5qrrz-glib-2.76.3/lib/glib-2.0/include -I/tmp/nix-build-lib2geom-1.3.drv-0/source/include -I/tmp/nix-build-lib2geom-1.3.drv-0/source/include/2geom -O3 -DNDEBUG -std=c++17 -MD -MT tests/CMakeFiles/affine-test.dir/affine-test.cpp.o -MF tests/CMakeFiles/affine-test.dir/affine-test.cpp.o.d -o tests/CMakeFiles/affine-test.dir/affine-test.cpp.o -c /tmp/nix-build-lib2geom-1.3.drv-0/source/tests/affine-test.cpp
In file included from /tmp/nix-build-lib2geom-1.3.drv-0/source/tests/affine-test.cpp:35:
In file included from /tmp/nix-build-lib2geom-1.3.drv-0/source/include/2geom/affine.h:19:
In file included from /tmp/nix-build-lib2geom-1.3.drv-0/source/include/2geom/point.h:42:
/tmp/nix-build-lib2geom-1.3.drv-0/source/include/2geom/coord.h:92:23: error: constexpr function never produces a constant expression [-Winvalid-constexpr]
inline constexpr bool are_near(Coord a, Coord b, double eps=EPSILON) { return std::abs(a-b) <= eps; }
^
/tmp/nix-build-lib2geom-1.3.drv-0/source/include/2geom/coord.h:92:79: note: non-constexpr function 'abs' cannot be used in a constant expression
inline constexpr bool are_near(Coord a, Coord b, double eps=EPSILON) { return std::abs(a-b) <= eps; }
^
/nix/store/g2ms93i4gs344z7zr9hpidp4ff2jmkqs-libcxx-11.1.0-dev/include/c++/v1/stdlib.h:122:41: note: declared here
inline _LIBCPP_INLINE_VISIBILITY double abs(double __lcpp_x) _NOEXCEPT {
^