nixpkgs/pkgs/development/libraries/gcr/4.nix
Guillaume Girol 33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00

114 lines
2.1 KiB
Nix

{ stdenv
, lib
, fetchurl
, pkg-config
, meson
, ninja
, gettext
, gnupg
, p11-kit
, glib
, libgcrypt
, libtasn1
, gtk4
, pango
, libsecret
, openssh
, systemd
, gobject-introspection
, wrapGAppsHook4
, vala
, gi-docgen
, gnome
, python3
, shared-mime-info
}:
stdenv.mkDerivation rec {
pname = "gcr";
version = "4.0.0";
outputs = [ "out" "bin" "dev" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "xFhVkk8O57q0Pi3Ti/r9KsgVxumGQ0HAFh4XEXPc7Hw=";
};
nativeBuildInputs = [
pkg-config
meson
ninja
gettext
gobject-introspection
gi-docgen
wrapGAppsHook4
vala
gi-docgen
shared-mime-info
];
buildInputs = [
gnupg
libgcrypt
libtasn1
pango
libsecret
openssh
systemd
gtk4
];
propagatedBuildInputs = [
glib
p11-kit
];
nativeCheckInputs = [
python3
];
mesonFlags = [
# We are still using ssh-agent from gnome-keyring.
# https://github.com/NixOS/nixpkgs/issues/140824
"-Dssh_agent=false"
];
doCheck = false; # fails 21 out of 603 tests, needs dbus daemon
PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "${placeholder "out"}/lib/systemd/user";
postPatch = ''
patchShebangs gcr/fixtures/
'';
postFixup = ''
# Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
moveToOutput "share/doc" "$devdoc"
'';
passthru = {
updateScript = gnome.updateScript {
attrPath = "gcr_4";
packageName = pname;
};
};
meta = with lib; {
platforms = platforms.unix;
maintainers = teams.gnome.members;
description = "GNOME crypto services (daemon and tools)";
homepage = "https://gitlab.gnome.org/GNOME/gcr";
license = licenses.lgpl2Plus;
longDescription = ''
GCR is a library for displaying certificates, and crypto UI, accessing
key stores. It also provides the viewer for crypto files on the GNOME
desktop.
GCK is a library for accessing PKCS#11 modules like smart cards, in a
(G)object oriented way.
'';
};
}