base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12
[NixPkgs.git] / pkgs / by-name / tp / tpnote / package.nix
blob91d03eb80a14e29cd0e9774ff228097f0aba257f
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.9";
19   src = fetchFromGitHub {
20     owner = "getreu";
21     repo = "tp-note";
22     rev = "v${version}";
23     hash = "sha256-KXkriFFn1GapoVimcK7Hqv1mUTZ2EbnnZPyX2izI2oo=";
24   };
26   cargoHash = "sha256-MCnQJ1cJeWUJ8L+u09px4COG7XUAVOOgBg8nUi37J90=";
28   nativeBuildInputs = [
29     cmake
30     pkg-config
31     installShellFiles
32   ];
34   buildInputs = [
35     oniguruma
36   ] ++ lib.optionals stdenv.hostPlatform.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   };