18 stdenv.mkDerivation (finalAttrs: {
27 src = fetchFromGitLab {
30 rev = "refs/tags/${finalAttrs.version}";
31 hash = "sha256-kbcnefzNhUj/ZKZaB9r19bpI68vxUKOLVAwUXSr/zz0=";
53 "-D2GEOM_BUILD_SHARED=ON"
54 # For cross compilation.
55 (lib.cmakeBool "2GEOM_TESTING" finalAttrs.doCheck)
58 doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
60 # TODO: Update cmake hook to make it simpler to selectively disable cmake tests: #113829
64 lib.optionals stdenv.hostPlatform.isMusl [
65 # Fails due to rounding differences
66 # https://gitlab.com/inkscape/lib2geom/-/issues/70
69 ++ lib.optionals (stdenv.hostPlatform.system != "x86_64-linux") [
70 # Broken on all platforms, test just accidentally passes on some.
71 # https://gitlab.com/inkscape/lib2geom/-/issues/63
74 # https://gitlab.com/inkscape/lib2geom/-/issues/69
77 # https://gitlab.com/inkscape/lib2geom/-/issues/75
80 # Failure observed on i686
82 "self-intersections-test"
84 # Failure observed on aarch64-darwin
91 ctest --output-on-failure -E '^${lib.concatStringsSep "|" disabledTests}$'
100 # Make sure x86_64-linux -> aarch64-linux cross compilation works
101 // lib.optionalAttrs (stdenv.buildPlatform.system == "x86_64-linux") {
102 aarch64-cross = pkgsCross.aarch64-multiplatform.lib2geom;
107 description = "Easy to use 2D geometry library in C++";
108 homepage = "https://gitlab.com/inkscape/lib2geom";
113 maintainers = with maintainers; [ jtojnar ];
114 platforms = platforms.unix;