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