toxic: 0.15.1 -> 0.16.0
[NixPkgs.git] / pkgs / by-name / se / seahorse / package.nix
blob1abdef69c7345e20f1348f6e24ca21cc8b18dc59
2   stdenv,
3   lib,
4   fetchurl,
5   vala,
6   meson,
7   ninja,
8   libpwquality,
9   pkg-config,
10   gtk3,
11   glib,
12   glib-networking,
13   wrapGAppsHook3,
14   itstool,
15   gnupg,
16   desktop-file-utils,
17   libsoup_3,
18   gnome,
19   gpgme,
20   python3,
21   openldap,
22   gcr,
23   libsecret,
24   avahi,
25   p11-kit,
26   openssh,
27   gsettings-desktop-schemas,
28   libhandy,
31 stdenv.mkDerivation rec {
32   pname = "seahorse";
33   version = "47.0.1";
35   src = fetchurl {
36     url = "mirror://gnome/sources/seahorse/${lib.versions.major version}/seahorse-${version}.tar.xz";
37     hash = "sha256-nBkX5KYff+u3h4Sc42znF/znBsNGiAuZHQVtVNrbysw=";
38   };
40   nativeBuildInputs = [
41     meson
42     ninja
43     pkg-config
44     vala
45     itstool
46     wrapGAppsHook3
47     python3
48     openssh
49     gnupg
50     desktop-file-utils
51     gcr
52   ];
54   buildInputs = [
55     gtk3
56     glib
57     glib-networking
58     gcr
59     gsettings-desktop-schemas
60     gpgme
61     libsecret
62     avahi
63     libsoup_3
64     p11-kit
65     openldap
66     libpwquality
67     libhandy
68   ];
70   doCheck = true;
72   postPatch = ''
73     patchShebangs build-aux/gpg_check_version.py
74   '';
76   env =
77     lib.optionalAttrs (stdenv.cc.isGNU && (lib.versionAtLeast (lib.getVersion stdenv.cc.cc) "14"))
78       {
79         NIX_CFLAGS_COMPILE = toString [
80           "-Wno-error=implicit-function-declaration"
81           "-Wno-error=int-conversion"
82           "-Wno-error=return-mismatch"
83         ];
84       };
86   preCheck = ''
87     # Add “org.gnome.crypto.pgp” GSettings schema to path
88     # to make it available for “gpgme-backend” test.
89     # It is used by Seahorse’s internal “common” library.
90     addToSearchPath XDG_DATA_DIRS "${glib.getSchemaDataDirPath gcr}"
91     # The same test also requires home directory so that it can store settings.
92     export HOME=$TMPDIR
93   '';
95   preFixup = ''
96     gappsWrapperArgs+=(
97       # Pick up icons from Gcr
98       --prefix XDG_DATA_DIRS : "${gcr}/share"
99     )
100   '';
102   passthru = {
103     updateScript = gnome.updateScript {
104       packageName = "seahorse";
105     };
106   };
108   meta = with lib; {
109     homepage = "https://gitlab.gnome.org/GNOME/seahorse";
110     description = "Application for managing encryption keys and passwords in the GnomeKeyring";
111     mainProgram = "seahorse";
112     maintainers = teams.gnome.members;
113     license = licenses.gpl2Plus;
114     platforms = platforms.linux;
115   };