diff options
author | Jan Tojnar <jtojnar@gmail.com> | 2019-01-28 00:15:00 +0100 |
---|---|---|
committer | Jan Tojnar <jtojnar@gmail.com> | 2019-01-28 00:15:00 +0100 |
commit | dd06999e328a40466a4db14e9547e45ca5c48002 (patch) | |
tree | 34e873d515c9e77c27d7af7d96b1619504fefd32 /pkgs/os-specific/linux/firmware/fwupd | |
parent | 7dd30dd64b88a3b06a7e6d101d69e12133bb5b48 (diff) | |
download | nixpkgs-dd06999e328a40466a4db14e9547e45ca5c48002.tar nixpkgs-dd06999e328a40466a4db14e9547e45ca5c48002.tar.gz nixpkgs-dd06999e328a40466a4db14e9547e45ca5c48002.tar.bz2 nixpkgs-dd06999e328a40466a4db14e9547e45ca5c48002.tar.lz nixpkgs-dd06999e328a40466a4db14e9547e45ca5c48002.tar.xz nixpkgs-dd06999e328a40466a4db14e9547e45ca5c48002.tar.zst nixpkgs-dd06999e328a40466a4db14e9547e45ca5c48002.zip |
fwupd: fix installed tests
Diffstat (limited to 'pkgs/os-specific/linux/firmware/fwupd')
3 files changed, 48 insertions, 24 deletions
diff --git a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch index 9fecb504c59..d77053f5d39 100644 --- a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch +++ b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch @@ -17,7 +17,6 @@ prefix only to `make install`, but Meson does not support anything like that. Until we manage to convince Meson to support install flags, we need to create our own install flag. --- - data/installed-tests/meson.build | 2 +- data/meson.build | 4 ++-- data/pki/meson.build | 8 ++++---- data/remotes.d/meson.build | 6 +++--- @@ -25,19 +24,8 @@ our own install flag. meson_options.txt | 1 + plugins/redfish/meson.build | 2 +- plugins/uefi/meson.build | 2 +- - 8 files changed, 19 insertions(+), 12 deletions(-) + 7 files changed, 18 insertions(+), 11 deletions(-) -diff --git a/data/installed-tests/meson.build b/data/installed-tests/meson.build -index eb33fa9f..b32ecb30 100644 ---- a/data/installed-tests/meson.build -+++ b/data/installed-tests/meson.build -@@ -52,5 +52,5 @@ configure_file( - output : 'fwupd-tests.conf', - configuration : con2, - install: true, -- install_dir: join_paths(sysconfdir, 'fwupd', 'remotes.d'), -+ install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'), - ) diff --git a/data/meson.build b/data/meson.build index 8dd2ac9a..d4ad1cbc 100644 --- a/data/meson.build diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix index 47e8cd0db20..cf6e2bf6040 100644 --- a/pkgs/os-specific/linux/firmware/fwupd/default.nix +++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, gtk-doc, pkgconfig, gobject-introspection, intltool +{ stdenv, fetchurl, substituteAll, gtk-doc, pkgconfig, gobject-introspection, intltool , libgudev, polkit, libxmlb, gusb, sqlite, libarchive, glib-networking , libsoup, help2man, gpgme, libxslt, elfutils, libsmbios, efivar, glibcLocales , gnu-efi, libyaml, valgrind, meson, libuuid, colord, docbook_xml_dtd_43, docbook_xsl @@ -6,17 +6,20 @@ , shared-mime-info, umockdev, vala, makeFontsConf, freefont_ttf , cairo, freetype, fontconfig, pango }: + +# Updating? Keep $out/etc synchronized with passthru.filesInstalledToEtc + let - # Updating? Keep $out/etc synchronized with passthru.filesInstalledToEtc - version = "1.2.3"; python = python3.withPackages (p: with p; [ pygobject3 pycairo pillow ]); installedTestsPython = python3.withPackages (p: with p; [ pygobject3 requests ]); fontsConf = makeFontsConf { fontDirectories = [ freefont_ttf ]; }; -in stdenv.mkDerivation { - name = "fwupd-${version}"; +in stdenv.mkDerivation rec { + pname = "fwupd"; + version = "1.2.3"; + src = fetchurl { url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz"; sha256 = "11qpgincndahq96rbm2kgcy9kw5n9cmbbilsrqcqcyk7mvv464sl"; @@ -39,15 +42,24 @@ in stdenv.mkDerivation { patches = [ ./fix-paths.patch ./add-option-for-installation-sysconfdir.patch + + # installed tests are installed to different output + # we also cannot have fwupd-tests.conf in $out/etc since it would form a cycle + (substituteAll { + src = ./installed-tests-path.patch; + # needs a different set of modules than po/make-images + inherit installedTestsPython; + }) ]; postPatch = '' - # 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 - patchShebangs . - substituteInPlace data/installed-tests/fwupdmgr.test.in --subst-var-by installedtestsdir "$installedTests/share/installed-tests/fwupd" + + # we cannot use placeholder in substituteAll + # https://github.com/NixOS/nix/issues/1846 + substituteInPlace data/installed-tests/meson.build --subst-var installedTests + + # install plug-ins to out, they are not really part of the library substituteInPlace meson.build \ --replace "plugin_dir = join_paths(libdir, 'fwupd-plugins-3')" \ "plugin_dir = join_paths('${placeholder "out"}', 'fwupd_plugins-3')" @@ -106,7 +118,6 @@ in stdenv.mkDerivation { "fwupd/remotes.d/lvfs-testing.conf" "fwupd/remotes.d/lvfs.conf" "fwupd/remotes.d/vendor.conf" - "fwupd/remotes.d/fwupd-tests.conf" "pki/fwupd/GPG-KEY-Hughski-Limited" "pki/fwupd/GPG-KEY-Linux-Foundation-Firmware" "pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service" diff --git a/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch b/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch new file mode 100644 index 00000000000..6c4b6b62a0c --- /dev/null +++ b/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch @@ -0,0 +1,25 @@ +--- a/data/installed-tests/hardware.py ++++ b/data/installed-tests/hardware.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/python3 ++#!@installedTestsPython@/bin/python3 + # pylint: disable=wrong-import-position,too-many-locals,unused-argument,wrong-import-order + # + # Copyright (C) 2017 Richard Hughes <richard@hughsie.com> +--- a/data/installed-tests/meson.build ++++ b/data/installed-tests/meson.build +@@ -1,6 +1,6 @@ + con2 = configuration_data() + con2.set('installedtestsdir', +- join_paths(datadir, 'installed-tests', 'fwupd')) ++ join_paths('@installedTests@', 'share', 'installed-tests', 'fwupd')) + con2.set('bindir', bindir) + + configure_file( +@@ -52,5 +52,5 @@ + output : 'fwupd-tests.conf', + configuration : con2, + install: true, +- install_dir: join_paths(sysconfdir, 'fwupd', 'remotes.d'), ++ install_dir: join_paths('@installedTests@', 'etc', 'fwupd', 'remotes.d'), + ) |