From c39acbfabae225c0f393b3fbc121466e6abef489 Mon Sep 17 00:00:00 2001 From: x123 Date: Sat, 18 Jan 2025 19:58:33 +0100 Subject: [PATCH] crusader: init at 0.3.2 --- pkgs/by-name/cr/crusader/package.nix | 90 ++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 pkgs/by-name/cr/crusader/package.nix diff --git a/pkgs/by-name/cr/crusader/package.nix b/pkgs/by-name/cr/crusader/package.nix new file mode 100644 index 000000000000..15dd1f4337e6 --- /dev/null +++ b/pkgs/by-name/cr/crusader/package.nix @@ -0,0 +1,90 @@ +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + + # nativeBuildInputs + makeWrapper, + pkg-config, + autoPatchelfHook, + + # buildInputs + fontconfig, + libgcc, + libxkbcommon, + xorg, + + libGL, + wayland, + versionCheckHook, + nix-update-script, +}: +rustPlatform.buildRustPackage rec { + pname = "crusader"; + version = "0.3.2"; + + src = fetchFromGitHub { + owner = "Zoxc"; + repo = "crusader"; + tag = "v${version}"; + hash = "sha256-M5zMOOYDS91p0EuDSlQ3K6eiVQpbX6953q+cXBMix2s="; + }; + + sourceRoot = "${src.name}/src"; + + useFetchCargoVendor = true; + cargoHash = "sha256-f0TWiRX203/gNsa9UEr/1Bv+kUxLAK/Zlw+S693xZlE="; + + # autoPatchelfHook required on linux for crusader-gui + nativeBuildInputs = + [ + makeWrapper + pkg-config + ] + ++ lib.optionals stdenv.isLinux [ + autoPatchelfHook + ]; + + buildInputs = + [ + fontconfig + libgcc + libxkbcommon + ] + ++ lib.optionals stdenv.isLinux [ + xorg.libX11 + xorg.libXcursor + xorg.libXi + ]; + + # required for crusader-gui + runtimeDependencies = [ + libGL + libxkbcommon + ]; + + postFixup = '' + # the program looks for libwayland-client.so at runtime + wrapProgram $out/bin/crusader-gui \ + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ wayland ]} + ''; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + versionCheckProgramArg = [ "--version" ]; + doInstallCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Network throughput and latency tester"; + homepage = "https://github.com/Zoxc/crusader"; + changelog = "https://github.com/Zoxc/crusader/blob/v${version}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ x123 ]; + platforms = lib.platforms.all; + mainProgram = "crusader"; + }; +}