nixpkgs/pkgs/development/libraries/gcr/default.nix
Jonathan Ringer 9bb3fccb5b treewide: pkgs.pkgconfig -> pkgs.pkg-config, move pkgconfig to alias.nix
continuation of #109595

pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.

python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.
2021-01-19 01:16:25 -08:00

107 lines
1.9 KiB
Nix

{ stdenv
, fetchurl
, pkg-config
, meson
, ninja
, gettext
, gnupg
, p11-kit
, glib
, libgcrypt
, libtasn1
, gtk3
, pango
, gobject-introspection
, makeWrapper
, libxslt
, vala
, gnome3
, python3
, shared-mime-info
}:
stdenv.mkDerivation rec {
pname = "gcr";
version = "3.38.0";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1q97pba4bzjndm1vlvicyv8mrl0n589qsw71dp8jrz2payvcfk56";
};
postPatch = ''
patchShebangs build/ gcr/fixtures/
chmod +x meson_post_install.py
patchShebangs meson_post_install.py
'';
outputs = [ "out" "dev" ];
nativeBuildInputs = [
pkg-config
meson
python3
ninja
gettext
gobject-introspection
libxslt
makeWrapper
vala
shared-mime-info
];
buildInputs = [
gnupg
libgcrypt
libtasn1
pango
];
propagatedBuildInputs = [
glib
gtk3
p11-kit
];
checkInputs = [
python3
];
mesonFlags = [
"-Dgtk_doc=false"
];
doCheck = false; # fails 21 out of 603 tests, needs dbus daemon
enableParallelBuilding = true;
preFixup = ''
wrapProgram "$out/bin/gcr-viewer" \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
'';
passthru = {
updateScript = gnome3.updateScript {
packageName = pname;
};
};
meta = with stdenv.lib; {
platforms = platforms.linux;
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.
'';
};
}