python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / libraries / gcr / default.nix
blob1241ae2a63f5d7dbcdbe408f2549118d1fe0bac9
1 { stdenv
2 , lib
3 , fetchurl
4 , pkg-config
5 , meson
6 , ninja
7 , gettext
8 , gnupg
9 , p11-kit
10 , glib
11 , libgcrypt
12 , libtasn1
13 , gtk3
14 , pango
15 , libsecret
16 , openssh
17 , systemd
18 , gobject-introspection
19 , wrapGAppsHook
20 , gi-docgen
21 , vala
22 , gnome
23 , python3
24 , shared-mime-info
27 stdenv.mkDerivation rec {
28   pname = "gcr";
29   version = "3.41.1";
31   outputs = [ "out" "dev" "devdoc" ];
33   src = fetchurl {
34     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
35     sha256 = "u3Eoo8L+u/7pwDuQ131JjQzrI3sHiYAtYBhcccS+ok8=";
36   };
38   nativeBuildInputs = [
39     pkg-config
40     meson
41     python3
42     ninja
43     gettext
44     gobject-introspection
45     gi-docgen
46     wrapGAppsHook
47     vala
48     shared-mime-info
49     gnupg
50     openssh
51   ];
53   buildInputs = [
54     libgcrypt
55     libtasn1
56     pango
57     libsecret
58     openssh
59   ] ++ lib.optionals stdenv.isLinux [
60     systemd
61   ];
63   propagatedBuildInputs = [
64     glib
65     gtk3
66     p11-kit
67   ];
69   checkInputs = [
70     python3
71   ];
73   mesonFlags = [
74     # We are still using ssh-agent from gnome-keyring.
75     # https://github.com/NixOS/nixpkgs/issues/140824
76     "-Dssh_agent=false"
77   ] ++ lib.optionals (!stdenv.isLinux) [
78     "-Dsystemd=disabled"
79   ];
81   doCheck = false; # fails 21 out of 603 tests, needs dbus daemon
83   PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "${placeholder "out"}/lib/systemd/user";
85   postPatch = ''
86     patchShebangs gcr/fixtures/
88     chmod +x meson_post_install.py
89     patchShebangs meson_post_install.py
90     substituteInPlace meson_post_install.py --replace ".so" "${stdenv.hostPlatform.extensions.sharedLibrary}"
91   '';
93   postFixup = ''
94     # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
95     moveToOutput "share/doc" "$devdoc"
96   '';
98   passthru = {
99     updateScript = gnome.updateScript {
100       packageName = pname;
101       freeze = true;
102     };
103   };
105   meta = with lib; {
106     platforms = platforms.unix;
107     maintainers = teams.gnome.members;
108     description = "GNOME crypto services (daemon and tools)";
109     homepage = "https://gitlab.gnome.org/GNOME/gcr";
110     license = licenses.lgpl2Plus;
112     longDescription = ''
113       GCR is a library for displaying certificates, and crypto UI, accessing
114       key stores. It also provides the viewer for crypto files on the GNOME
115       desktop.
117       GCK is a library for accessing PKCS#11 modules like smart cards, in a
118       (G)object oriented way.
119     '';
120   };