nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ cargo
2, darwin
3, desktop-file-utils
4, fetchFromGitLab
5, gettext
6, glib
7, gtk4
8, gtksourceview5
9, lib
10, libadwaita
11, meson
12, ninja
13, pkg-config
14, poppler
15, rustPlatform
16, rustc
17, stdenv
18, testers
19, wrapGAppsHook4
20}:
21stdenv.mkDerivation (finalAttrs: {
22 pname = "citations";
23 version = "0.5.1";
24
25 src = fetchFromGitLab {
26 domain = "gitlab.gnome.org";
27 owner = "World";
28 repo = finalAttrs.pname;
29 rev = finalAttrs.version;
30 hash = "sha256-QPK6Nw0tDdttUDFKMgThTYMTxGXsn5OReqf1LNAai7g=";
31 };
32
33 cargoDeps = rustPlatform.importCargoLock {
34 lockFile = ./Cargo.lock;
35 outputHashes = {
36 "nom-bibtex-0.3.0" = "sha256-Dy7xauwXGnMtK/w/T5gZgqJ8fPyyd/FfZTLjvwMODFI=";
37 };
38 };
39
40 nativeBuildInputs = [
41 desktop-file-utils
42 gettext
43 glib
44 meson
45 ninja
46 pkg-config
47 rustPlatform.cargoSetupHook
48 cargo
49 rustc
50 wrapGAppsHook4
51 ];
52
53 buildInputs = [
54 glib
55 gtk4
56 gtksourceview5
57 libadwaita
58 poppler
59 ] ++ lib.optionals stdenv.isDarwin [
60 darwin.apple_sdk.frameworks.Foundation
61 ];
62
63 doCheck = true;
64
65 passthru.tests.version = testers.testVersion {
66 package = finalAttrs.finalPackage;
67 command = "citations --help";
68 };
69
70 meta = with lib; {
71 description = "Manage your bibliographies using the BibTeX format";
72 homepage = "https://apps.gnome.org/app/org.gnome.World.Citations";
73 license = licenses.gpl3Plus;
74 maintainers = with maintainers; [ benediktbroich ];
75 platforms = platforms.unix;
76 };
77})