fwupd: split daemon again
In 1.3.5, fwupdprivate library was made into a shared fwupdplugin library. This library is considered semi-private and is used by fwupd daemon and fwupd plug-ins and now possibly third party plug-ins. The fwupdplugin library refers to the plug-in directory in fwupd.out causing a dependency cycle. For that reason we need to move it to out.
This commit is contained in:
parent
444538ee97
commit
c942013dbc
2 changed files with 51 additions and 1 deletions
|
@ -94,7 +94,10 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "02mzn3whk5mba4nxyrkypawr1gzjx79n4nrkhrp8vja6mxxgsf10";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" "man" "installedTests" ];
|
||||
# libfwupd goes to lib
|
||||
# daemon, plug-ins and libfwupdplugin go to out
|
||||
# CLI programs go to out
|
||||
outputs = [ "out" "lib" "dev" "devdoc" "man" "installedTests" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
|
@ -148,6 +151,10 @@ stdenv.mkDerivation rec {
|
|||
./fix-paths.patch
|
||||
./add-option-for-installation-sysconfdir.patch
|
||||
|
||||
# install plug-ins and libfwupdplugin to out,
|
||||
# they are not really part of the library
|
||||
./install-fwupdplugin-to-out.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 {
|
||||
|
@ -203,6 +210,12 @@ stdenv.mkDerivation rec {
|
|||
"--localstatedir=/var"
|
||||
"--sysconfdir=/etc"
|
||||
"-Dsysconfdir_install=${placeholder "out"}/etc"
|
||||
|
||||
# We do not want to place the daemon into lib (cyclic reference)
|
||||
"--libexecdir=${placeholder "out"}/libexec"
|
||||
# Our builder only adds $lib/lib to rpath but some things link
|
||||
# against libfwupdplugin which is in $out/lib.
|
||||
"-Dc_link_args=-Wl,-rpath,${placeholder "out"}/lib"
|
||||
] ++ stdenv.lib.optionals (!haveDell) [
|
||||
"-Dplugin_dell=false"
|
||||
"-Dplugin_synaptics=false"
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
diff --git a/libfwupdplugin/meson.build b/libfwupdplugin/meson.build
|
||||
index 0abcd45c..51cbc912 100644
|
||||
--- a/libfwupdplugin/meson.build
|
||||
+++ b/libfwupdplugin/meson.build
|
||||
@@ -114,7 +114,8 @@
|
||||
],
|
||||
link_args : vflag,
|
||||
link_depends : fwupdplugin_mapfile,
|
||||
- install : true
|
||||
+ install : true,
|
||||
+ install_dir : bindir / '..' / 'lib',
|
||||
)
|
||||
|
||||
fwupdplugin_pkgg = import('pkgconfig')
|
||||
@@ -167,7 +168,8 @@
|
||||
'GUsb-1.0',
|
||||
fwupd_gir[0],
|
||||
],
|
||||
- install : true
|
||||
+ install : true,
|
||||
+ install_dir_typelib : bindir / '..' / 'lib' / 'girepository-1.0',
|
||||
)
|
||||
gnome.generate_vapi('fwupdplugin',
|
||||
sources : fwupd_gir[0],
|
||||
diff --git a/meson.build b/meson.build
|
||||
index b1a523d2..00125997 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -389,7 +389,7 @@
|
||||
if host_machine.system() == 'windows'
|
||||
plugin_dir = 'fwupd-plugins-3'
|
||||
else
|
||||
- plugin_dir = join_paths(libdir, 'fwupd-plugins-3')
|
||||
+ plugin_dir = join_paths(bindir, '..', 'lib', 'fwupd-plugins-3')
|
||||
endif
|
||||
conf.set_quoted('FWUPD_PLUGINDIR', plugin_dir)
|
||||
endif
|
Loading…
Reference in a new issue