glaze: 4.2.2 -> 4.2.3 (#369927)
[NixPkgs.git] / pkgs / by-name / nu / numbat / package.nix
blobda0e75d1a3a61ea36c8cca20b79a79b94021e3c0
2   lib,
3   fetchFromGitHub,
4   rustPlatform,
5   tzdata,
6   versionCheckHook,
7   nix-update-script,
8 }:
10 rustPlatform.buildRustPackage rec {
11   pname = "numbat";
12   version = "1.15.0";
14   src = fetchFromGitHub {
15     owner = "sharkdp";
16     repo = "numbat";
17     tag = "v${version}";
18     hash = "sha256-5XsrOAvBrmCG6k7YRwGZZtBP/o1jVVtBBTrwIT5CDX8=";
19   };
21   cargoHash = "sha256-RMON7JThY6Ad1QHQFiNbTb2PUsfviR2t+55k1ZtlOd8=";
23   env.NUMBAT_SYSTEM_MODULE_PATH = "${placeholder "out"}/share/numbat/modules";
25   postInstall = ''
26     mkdir -p $out/share/numbat
27     cp -r $src/numbat/modules $out/share/numbat/
28   '';
30   preCheck = ''
31     # The datetime library used by Numbat, "jiff", always attempts to use the
32     # system TZDIR on Unix and doesn't fall back to the embedded tzdb when not
33     # present.
34     export TZDIR=${tzdata}/share/zoneinfo
35   '';
37   nativeInstallCheckInputs = [ versionCheckHook ];
38   doInstallCheck = true;
39   versionCheckProgramArg = [ "--version" ];
41   passthru.updateScript = nix-update-script { };
43   meta = {
44     description = "High precision scientific calculator with full support for physical units";
45     longDescription = ''
46       A statically typed programming language for scientific computations
47       with first class support for physical dimensions and units
48     '';
49     homepage = "https://numbat.dev";
50     changelog = "https://github.com/sharkdp/numbat/releases/tag/v${version}";
51     license = with lib.licenses; [
52       asl20
53       mit
54     ];
55     maintainers = with lib.maintainers; [
56       giomf
57       atemu
58     ];
59     mainProgram = "numbat";
60   };