Merge pull request #329823 from ExpidusOS/fix/pkgsllvm/elfutils
[NixPkgs.git] / pkgs / by-name / tp / tpnote / package.nix
blob9e8bdca66401804f08b51928394fb61506cf967b
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , rustPlatform
5 , cmake
6 , pkg-config
7 , oniguruma
8 , darwin
9 , installShellFiles
10 , tpnote
11 , testers
15 rustPlatform.buildRustPackage rec {
16   pname = "tpnote";
17   version = "1.24.7";
19   src = fetchFromGitHub {
20     owner = "getreu";
21     repo = "tp-note";
22     rev = "v${version}";
23     hash = "sha256-BSq+9qjBdJZvx65mumyPbjhbBHpHXgWeGqdx/xevL50=";
24   };
26   cargoHash = "sha256-jwG68aAG4D+ulsQa+UEyJu5fVwbrHeeW9bJNQfcpg4o=";
28   nativeBuildInputs = [
29     cmake
30     pkg-config
31     installShellFiles
32   ];
34   buildInputs = [
35     oniguruma
36   ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
37      AppKit
38      CoreServices
39      SystemConfiguration
40   ]);
42   postInstall = ''
43     installManPage docs/build/man/man1/tpnote.1
44   '';
46   RUSTONIG_SYSTEM_LIBONIG = true;
48   passthru.tests.version = testers.testVersion { package = tpnote; };
50   # The `tpnote` crate has no unit tests. All tests are in `tpnote-lib`.
51   checkType = "debug";
52   cargoTestFlags = "--package tpnote-lib";
53   doCheck = true;
55   meta = {
56     changelog = "https://github.com/getreu/tp-note/releases/tag/v${version}";
57     description = "Markup enhanced granular note-taking";
58     homepage = "https://blog.getreu.net/projects/tp-note/";
59     license = lib.licenses.mit;
60     mainProgram = "tpnote";
61     maintainers = with lib.maintainers; [ getreu ];
62   };