diff --git a/pkgs/development/libraries/meshoptimizer/default.nix b/pkgs/development/libraries/meshoptimizer/default.nix new file mode 100644 index 00000000000..cfa273aa151 --- /dev/null +++ b/pkgs/development/libraries/meshoptimizer/default.nix @@ -0,0 +1,38 @@ +{ lib, stdenv, fetchFromGitHub, cmake }: + +let + basis_universal = fetchFromGitHub { + owner = "zeux"; + repo = "basis_universal"; + rev = "8903f6d69849fd782b72a551a4dd04a264434e20"; + hash = "sha256-o3dCxAAkpMoNkvkM7qD75cPn/obDc/fJ8u7KLPm1G6g="; + }; +in stdenv.mkDerivation { + pname = "meshoptimizer"; + version = "unstable-2023-03-22"; + src = fetchFromGitHub { + owner = "zeux"; + repo = "meshoptimizer"; + hash = "sha256-OWeptdnKFvTyfkz0sFCpiTI7323GfVE8vb8bNUBnslA="; + rev = "49d9222385daf61a9ce75bb4699472408eb3df3e"; + }; + + nativeBuildInputs = [ cmake ]; + + outputs = [ "bin" "dev" "out" ]; + + cmakeFlags = [ + "-DMESHOPT_BUILD_GLTFPACK=ON" + "-DMESHOPT_BASISU_PATH=${basis_universal}" + ] ++ lib.optional (!stdenv.hostPlatform.isStatic) + "-DMESHOPT_BUILD_SHARED_LIBS:BOOL=ON"; + + meta = with lib; { + description = "Mesh optimization library that makes meshes smaller and faster to render"; + homepage = "https://github.com/zeux/meshoptimizer"; + license = licenses.mit; + maintainers = [ maintainers.lillycham ]; + platforms = platforms.all; + mainProgram = "gltfpack"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1581b6ec63b..19d9bc7991e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22478,6 +22478,8 @@ with pkgs; mergerfs-tools = callPackage ../tools/filesystems/mergerfs/tools.nix { }; + meshoptimizer = callPackage ../development/libraries/meshoptimizer { }; + mctc-lib = callPackage ../development/libraries/science/chemistry/mctc-lib { }; mstore = callPackage ../development/libraries/science/chemistry/mstore { };