|
|
|
@ -1,42 +1,70 @@ |
|
|
|
|
{ thinkpad ? false |
|
|
|
|
, stdenv |
|
|
|
|
, fetchurl |
|
|
|
|
{ stdenv |
|
|
|
|
, fetchFromGitLab |
|
|
|
|
, fetchpatch |
|
|
|
|
, pkgconfig |
|
|
|
|
, intltool |
|
|
|
|
, libfprint-thinkpad ? null |
|
|
|
|
, libfprint ? null |
|
|
|
|
, meson |
|
|
|
|
, ninja |
|
|
|
|
, perl |
|
|
|
|
, gettext |
|
|
|
|
, cairo |
|
|
|
|
, gtk-doc |
|
|
|
|
, libxslt |
|
|
|
|
, docbook-xsl-nons |
|
|
|
|
, docbook_xml_dtd_412 |
|
|
|
|
, glib |
|
|
|
|
, dbus |
|
|
|
|
, dbus-glib |
|
|
|
|
, polkit |
|
|
|
|
, nss |
|
|
|
|
, pam |
|
|
|
|
, systemd |
|
|
|
|
, autoreconfHook |
|
|
|
|
, gtk-doc |
|
|
|
|
, libfprint |
|
|
|
|
, python3 |
|
|
|
|
}: |
|
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec { |
|
|
|
|
pname = "fprintd" + stdenv.lib.optionalString thinkpad "-thinkpad"; |
|
|
|
|
version = "0.9.0"; |
|
|
|
|
pname = "fprintd"; |
|
|
|
|
version = "1.90.1"; |
|
|
|
|
outputs = [ "out" "devdoc" ]; |
|
|
|
|
|
|
|
|
|
src = fetchurl { |
|
|
|
|
url = "https://gitlab.freedesktop.org/libfprint/fprintd/uploads/9dec4b63d1f00e637070be1477ce63c0/fprintd-${version}.tar.xz"; |
|
|
|
|
sha256 = "182gcnwb6zjwmk0dn562rjmpbk7ac7dhipbfdhfic2sn1jzis49p"; |
|
|
|
|
src = fetchFromGitLab { |
|
|
|
|
domain = "gitlab.freedesktop.org"; |
|
|
|
|
owner = "libfprint"; |
|
|
|
|
repo = pname; |
|
|
|
|
rev = version; |
|
|
|
|
sha256 = "0mbzk263x7f58i9cxhs44mrngs7zw5wkm62j5r6xlcidhmfn03cg"; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
patches = [ |
|
|
|
|
# Fixes issue with ":" when there is multiple paths (might be the case on NixOS) |
|
|
|
|
# https://gitlab.freedesktop.org/libfprint/fprintd/-/merge_requests/50 |
|
|
|
|
(fetchpatch { |
|
|
|
|
url = "https://gitlab.freedesktop.org/libfprint/fprintd/-/commit/d7fec03f24d10f88d34581c72f0eef201f5eafac.patch"; |
|
|
|
|
sha256 = "QNN05WF4YZ0XiTwm5NkfqZDuQpyXlnrh+RJF9SNsCDk="; |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
# Fix locating libpam_wrapper for tests |
|
|
|
|
(fetchpatch { |
|
|
|
|
url = "https://gitlab.freedesktop.org/libfprint/fprintd/-/merge_requests/40.patch"; |
|
|
|
|
sha256 = "43uPihK6HhygHw1Qplwci80Wseq/S77VUp+OdEECHmM="; |
|
|
|
|
}) |
|
|
|
|
(fetchpatch { |
|
|
|
|
url = "https://gitlab.freedesktop.org/libfprint/fprintd/merge_requests/16.patch"; |
|
|
|
|
sha256 = "1y39zsmxjll9hip8464qwhq5qg06c13pnafyafgxdph75lvhdll7"; |
|
|
|
|
url = "https://gitlab.freedesktop.org/libfprint/fprintd/-/commit/f401f399a85dbeb2de165b9b9162eb552ab6eea7.patch"; |
|
|
|
|
sha256 = "Pga+/QEkln8DOwGZfKM1r2urJX4Y3X0bozWWxKZ5ia0="; |
|
|
|
|
}) |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
nativeBuildInputs = [ |
|
|
|
|
intltool |
|
|
|
|
pkgconfig |
|
|
|
|
autoreconfHook # Drop with above patch |
|
|
|
|
gtk-doc # Drop with above patch |
|
|
|
|
meson |
|
|
|
|
ninja |
|
|
|
|
perl |
|
|
|
|
gettext |
|
|
|
|
gtk-doc |
|
|
|
|
libxslt |
|
|
|
|
dbus |
|
|
|
|
docbook-xsl-nons |
|
|
|
|
docbook_xml_dtd_412 |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
buildInputs = [ |
|
|
|
@ -46,23 +74,43 @@ stdenv.mkDerivation rec { |
|
|
|
|
nss |
|
|
|
|
pam |
|
|
|
|
systemd |
|
|
|
|
] |
|
|
|
|
++ stdenv.lib.optional thinkpad libfprint-thinkpad |
|
|
|
|
++ stdenv.lib.optional (!thinkpad) libfprint |
|
|
|
|
; |
|
|
|
|
libfprint |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
checkInputs = with python3.pkgs; [ |
|
|
|
|
python-dbusmock |
|
|
|
|
dbus-python |
|
|
|
|
pygobject3 |
|
|
|
|
pycairo |
|
|
|
|
pypamtest |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
configureFlags = [ |
|
|
|
|
# is hardcoded to /var/lib/fprint, this is for the StateDirectory install target |
|
|
|
|
"--localstatedir=${placeholder "out"}/var" |
|
|
|
|
"--sysconfdir=${placeholder "out"}/etc" |
|
|
|
|
"--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system" |
|
|
|
|
mesonFlags = [ |
|
|
|
|
"-Dgtk_doc=true" |
|
|
|
|
"-Dpam_modules_dir=${placeholder "out"}/lib/security" |
|
|
|
|
"-Dsysconfdir=${placeholder "out"}/etc" |
|
|
|
|
"-Ddbus_service_dir=${placeholder "out"}/share/dbus-1/system-services" |
|
|
|
|
"-Dsystemd_system_unit_dir=${placeholder "out"}/lib/systemd/system" |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
PKG_CONFIG_DBUS_1_INTERFACES_DIR = "${placeholder "out"}/share/dbus-1/interfaces"; |
|
|
|
|
PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder "out"}/share/polkit-1/actions"; |
|
|
|
|
PKG_CONFIG_DBUS_1_DATADIR = "${placeholder "out"}/share"; |
|
|
|
|
|
|
|
|
|
# FIXME: Ugly hack for tests to find libpam_wrapper.so |
|
|
|
|
LIBRARY_PATH = stdenv.lib.makeLibraryPath [ python3.pkgs.pypamtest ]; |
|
|
|
|
|
|
|
|
|
doCheck = true; |
|
|
|
|
|
|
|
|
|
postPatch = '' |
|
|
|
|
patchShebangs po/check-translations.sh |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|
meta = with stdenv.lib; { |
|
|
|
|
homepage = "https://fprint.freedesktop.org/"; |
|
|
|
|
description = "D-Bus daemon that offers libfprint functionality over the D-Bus interprocess communication bus"; |
|
|
|
|
license = licenses.gpl2; |
|
|
|
|
platforms = platforms.linux; |
|
|
|
|
maintainers = with maintainers; [ abbradar ]; |
|
|
|
|
maintainers = with maintainers; [ abbradar elyhaka ]; |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|