brush-splat: init at 0.2.0

Co-authored-by: Gaétan Lepage <gaetan@glepage.com>

+78
+78
pkgs/by-name/br/brush-splat/package.nix
··· 1 + { 2 + lib, 3 + rustPlatform, 4 + fetchFromGitHub, 5 + pkg-config, 6 + bzip2, 7 + libxkbcommon, 8 + sqlite, 9 + vulkan-loader, 10 + zstd, 11 + stdenv, 12 + wayland, 13 + nix-update-script, 14 + versionCheckHook, 15 + }: 16 + 17 + rustPlatform.buildRustPackage (finalAttrs: { 18 + pname = "brush-splat"; 19 + version = "0.2.0"; 20 + 21 + src = fetchFromGitHub { 22 + owner = "ArthurBrussee"; 23 + repo = "brush"; 24 + tag = finalAttrs.version; 25 + hash = "sha256-IvsHYCM/M2hHozzKwovgXpcW1b7MSEGneU62y1k8U9U="; 26 + }; 27 + 28 + cargoHash = "sha256-7cJj5L8ggkBP9SDaYMtY9xIAHVAhi8cTD/0pncUaHbI="; 29 + 30 + # Force linking to libEGL, which is always dlopen()ed, and to 31 + # libwayland-client & libxkbcommon, which is dlopen()ed based on the 32 + # winit backend. 33 + NIX_LDFLAGS = [ 34 + "--no-as-needed" 35 + "-lvulkan" 36 + "-lwayland-client" 37 + "-lxkbcommon" 38 + ]; 39 + 40 + nativeBuildInputs = [ 41 + pkg-config 42 + ]; 43 + 44 + buildInputs = [ 45 + bzip2 46 + libxkbcommon 47 + sqlite 48 + vulkan-loader 49 + zstd 50 + ] 51 + ++ lib.optionals stdenv.isLinux [ 52 + wayland 53 + ]; 54 + 55 + env = { 56 + ZSTD_SYS_USE_PKG_CONFIG = true; 57 + }; 58 + 59 + nativeInstallCheckInputs = [ 60 + versionCheckHook 61 + ]; 62 + versionCheckProgramArg = "--version"; 63 + doInstallCheck = true; 64 + 65 + passthru = { 66 + updateScript = nix-update-script { }; 67 + }; 68 + 69 + meta = { 70 + description = "3D Reconstruction for all"; 71 + homepage = "https://github.com/ArthurBrussee/brush"; 72 + changelog = "https://github.com/ArthurBrussee/brush/blob/${finalAttrs.src.rev}/CHANGELOG.md"; 73 + license = lib.licenses.asl20; 74 + platforms = lib.platforms.linux; 75 + maintainers = with lib.maintainers; [ matthewcroughan ]; 76 + mainProgram = "brush_app"; 77 + }; 78 + })