nixpkgs-suyu/pkgs/os-specific/linux/firmware/fwupd/default.nix

76 lines
2.7 KiB
Nix
Raw Normal View History

2018-02-14 03:06:38 +01:00
{ stdenv, fetchurl, fetchpatch, gtk_doc, pkgconfig, gobjectIntrospection, intltool
2017-09-18 15:14:21 +02:00
, libgudev, polkit, appstream-glib, gusb, sqlite, libarchive, glib_networking
2018-02-14 16:39:07 +01:00
, libsoup, help2man, gpgme, libxslt, elfutils, libsmbios, efivar, glibcLocales
2018-02-14 16:18:23 +01:00
, fwupdate, libyaml, valgrind, meson, libuuid, colord, docbook_xml_dtd_43, docbook_xsl
2018-02-14 05:03:20 +01:00
, ninja, gcab, gnutls, python3, wrapGAppsHook, json_glib
2018-02-14 03:06:38 +01:00
, shared_mime_info, umockdev
2017-02-27 14:38:49 +01:00
}:
2017-09-18 15:14:21 +02:00
let
2018-02-17 01:49:49 +01:00
version = "1.0.5";
2018-02-14 05:03:20 +01:00
python = python3.withPackages (p: with p; [ pygobject3 pycairo pillow ]);
installedTestsPython = python3.withPackages (p: with p; [ pygobject3 requests ]);
2017-09-18 15:14:21 +02:00
in stdenv.mkDerivation {
name = "fwupd-${version}";
src = fetchurl {
url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz";
2018-02-17 01:49:49 +01:00
sha256 = "0wm195vkf6x1kg1dz0sbfwpdcn9f6638l7vyzplcfrb3v07pqxpq";
2017-09-18 15:14:21 +02:00
};
2018-02-14 16:39:07 +01:00
outputs = [ "out" "devdoc" "man" "installedTests" ];
2018-02-14 03:06:38 +01:00
2017-09-18 15:14:21 +02:00
nativeBuildInputs = [
2018-02-14 03:06:38 +01:00
meson ninja gtk_doc pkgconfig gobjectIntrospection intltool glibcLocales shared_mime_info
2018-02-14 16:39:07 +01:00
valgrind gcab docbook_xml_dtd_43 docbook_xsl help2man libxslt python wrapGAppsHook
2017-09-18 15:14:21 +02:00
];
buildInputs = [
2018-02-14 02:08:53 +01:00
polkit appstream-glib gusb sqlite libarchive libsoup elfutils libsmbios fwupdate libyaml
2018-02-14 05:03:20 +01:00
libgudev colord gpgme libuuid gnutls glib_networking efivar json_glib umockdev
2017-09-18 15:14:21 +02:00
];
LC_ALL = "en_US.UTF-8"; # For po/make-images
patches = [
./fix-missing-deps.patch
2018-02-14 03:06:38 +01:00
(fetchpatch {
2018-02-17 01:49:49 +01:00
url = https://github.com/hughsie/fwupd/commit/767210e4b1401d5d5bb7ac1e7c052a60b6529d88.patch;
sha256 = "00adfabxpgdg74jx7i6jihhh8njjk2r7v3fxqs4scj3vn06k5fmw";
2018-02-14 05:03:20 +01:00
})
2017-09-18 15:14:21 +02:00
];
2018-02-14 05:03:20 +01:00
2017-09-18 15:14:21 +02:00
postPatch = ''
2018-02-14 05:03:20 +01:00
# needs a different set of modules than po/make-images
escapedInterpreterLine=$(echo "${installedTestsPython}/bin/python3" | sed 's|\\|\\\\|g')
sed -i -e "1 s|.*|#\!$escapedInterpreterLine|" data/installed-tests/hardware.py
2017-09-18 15:14:21 +02:00
patchShebangs .
2018-02-14 03:06:38 +01:00
substituteInPlace data/installed-tests/fwupdmgr.test.in --subst-var-by installedtestsdir "$installedTests/share/installed-tests/fwupd"
2017-09-18 15:14:21 +02:00
'';
2018-02-14 03:06:38 +01:00
doCheck = true;
2018-02-10 05:23:17 +01:00
preFixup = ''
gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared_mime_info}/share")
'';
2017-09-18 15:14:21 +02:00
mesonFlags = [
2018-02-14 05:03:20 +01:00
"-Dplugin_dummy=true"
2017-12-17 09:16:38 +01:00
"-Dbootdir=/boot"
"-Dudevdir=lib/udev"
"-Dsystemdunitdir=lib/systemd/system"
2017-09-18 15:14:21 +02:00
"--localstatedir=/var"
];
2018-02-14 03:06:38 +01:00
postInstall = ''
moveToOutput share/installed-tests "$installedTests"
2018-02-14 05:03:20 +01:00
wrapProgram $installedTests/share/installed-tests/fwupd/hardware.py \
--prefix GI_TYPELIB_PATH : "$out/lib/girepository-1.0:${libsoup}/lib/girepository-1.0"
2018-02-14 03:06:38 +01:00
'';
meta = with stdenv.lib; {
2017-09-18 15:14:21 +02:00
homepage = https://fwupd.org/;
2018-02-14 03:06:38 +01:00
maintainers = with maintainers; [];
license = [ licenses.gpl2 ];
platforms = platforms.linux;
2017-09-18 15:14:21 +02:00
};
}