{ lib, stdenv, fetchFromGitHub, cmake, nix-update-script, }: stdenv.mkDerivation (finalAttrs: { pname = "clipper2"; version = "1.5.4"; src = fetchFromGitHub { owner = "AngusJohnson"; repo = "Clipper2"; rev = "Clipper2_${finalAttrs.version}"; hash = "sha256-2vZXxT5hISz2xbWbvYNGTrq9QovTjNwUK103iVtz8ok="; }; sourceRoot = "${finalAttrs.src.name}/CPP"; nativeBuildInputs = [ cmake ]; cmakeFlags = [ "-DCLIPPER2_EXAMPLES=OFF" "-DCLIPPER2_TESTS=OFF" "-DBUILD_SHARED_LIBS=ON" ]; passthru.updateScript = nix-update-script { }; meta = { description = "Polygon Clipping and Offsetting - C++ Only"; longDescription = '' The Clipper2 library performs intersection, union, difference and XOR boolean operations on both simple and complex polygons. It also performs polygon offsetting. ''; homepage = "https://github.com/AngusJohnson/Clipper2"; license = lib.licenses.boost; maintainers = [ lib.maintainers.cadkin ]; platforms = lib.platforms.all; }; })