ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / id / identity / package.nix
blob1c3198cab71edbec6e9aa4edd3d25c272de607a8
2   lib,
3   stdenv,
4   appstream,
5   blueprint-compiler,
6   cargo,
7   dav1d,
8   desktop-file-utils,
9   fetchFromGitLab,
10   glib,
11   gst_all_1,
12   gtk4,
13   lcms,
14   libadwaita,
15   libseccomp,
16   libwebp,
17   meson,
18   ninja,
19   nix-update-script,
20   pkg-config,
21   rustPlatform,
22   rustc,
23   versionCheckHook,
24   wrapGAppsHook4,
27 stdenv.mkDerivation (finalAttrs: {
28   pname = "identity";
29   version = "0.7.0";
31   src = fetchFromGitLab {
32     domain = "gitlab.gnome.org";
33     owner = "YaLTeR";
34     repo = "identity";
35     rev = "refs/tags/v${finalAttrs.version}";
36     hash = "sha256-h8/mWGuosBiQRpoW8rINJht/7UBVEnUnTKY5HBCAyw4=";
37   };
39   cargoDeps = rustPlatform.fetchCargoTarball {
40     inherit (finalAttrs) pname version src;
41     hash = "sha256-oO7l4zVKR93fFLqkY67DfzrAA9kUN06ov9ogwDuaVlE=";
42   };
44   strictDeps = true;
46   nativeBuildInputs = [
47     appstream
48     blueprint-compiler
49     cargo
50     desktop-file-utils # for `desktop-file-validate`
51     glib # for `glib-compile-schemas`
52     gtk4 # for `gtk-update-icon-cache`
53     meson
54     ninja
55     pkg-config
56     rustPlatform.cargoCheckHook
57     rustPlatform.cargoSetupHook
58     rustc
59     wrapGAppsHook4
60   ];
62   buildInputs = [
63     dav1d
64     gst_all_1.gst-libav
65     gst_all_1.gst-plugins-bad
66     gst_all_1.gst-plugins-base
67     gst_all_1.gst-plugins-good
68     gst_all_1.gstreamer
69     gtk4
70     lcms
71     libadwaita
72     libseccomp
73     libwebp
74   ];
76   mesonBuildType = "release";
78   doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
79   cargoCheckType = if (finalAttrs.mesonBuildType != "debug") then "release" else "debug";
81   nativeInstallCheckInputs = [ versionCheckHook ];
82   doInstallCheck = true;
84   checkPhase = ''
85     runHook preCheck
87     cargoCheckHook
88     mesonCheckPhase
90     runHook postCheck
91   '';
93   passthru.updateScript = nix-update-script { };
95   meta = {
96     description = "Program for comparing multiple versions of an image or video";
97     homepage = "https://gitlab.gnome.org/YaLTeR/identity";
98     changelog = "https://gitlab.gnome.org/YaLTeR/identity/-/releases/v${finalAttrs.version}";
99     license = lib.licenses.gpl3Plus;
100     maintainers = with lib.maintainers; [ getchoo ];
101     mainProgram = "identity";
102     platforms = lib.platforms.linux;
103   };