diff --git a/pkgs/development/libraries/draco/default.nix b/pkgs/development/libraries/draco/default.nix index ecbd1252126..d35e9a229a5 100644 --- a/pkgs/development/libraries/draco/default.nix +++ b/pkgs/development/libraries/draco/default.nix @@ -1,35 +1,52 @@ { lib , stdenv , fetchFromGitHub +, nix-update-script , cmake , python3 +, gtest , withAnimation ? true , withTranscoder ? true +, eigen +, ghc_filesystem +, tinygltf }: let cmakeBool = b: if b then "ON" else "OFF"; in stdenv.mkDerivation rec { - version = "1.5.0"; + version = "1.5.2"; pname = "draco"; src = fetchFromGitHub { owner = "google"; repo = "draco"; rev = version; - hash = "sha256-BoJg2lZBPVVm6Nc0XK8QSISpe+B8tpgRg9PFncN4+fY="; + sha256 = "sha256-o6KQJFrnxx2kz6g3vXk1w435OmaJhAJjzsKM/gmVJ2M="; fetchSubmodules = true; }; + buildInputs = [ gtest ] + ++ lib.optionals withTranscoder [ eigen ghc_filesystem tinygltf ]; + nativeBuildInputs = [ cmake python3 ]; cmakeFlags = [ "-DDRACO_ANIMATION_ENCODING=${cmakeBool withAnimation}" - "-DDRACO_TRANSCODER_SUPPORTED=${cmakeBool withTranscoder}" + "-DDRACO_GOOGLETEST_PATH=${gtest}" "-DBUILD_SHARED_LIBS=${cmakeBool true}" + "-DDRACO_TRANSCODER_SUPPORTED=${cmakeBool withTranscoder}" + ] ++ lib.optionals withTranscoder [ + "-DDRACO_EIGEN_PATH=${eigen}/include/eigen3" + "-DDRACO_FILESYSTEM_PATH=${ghc_filesystem}" + "-DDRACO_TINYGLTF_PATH=${tinygltf}" ]; + passthru.updateScript = nix-update-script { + attrPath = pname; + }; + meta = with lib; { description = "Library for compressing and decompressing 3D geometric meshes and point clouds"; homepage = "https://google.github.io/draco/";