-
-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
All hail Meson! One serious issue is that building docs does not work. We patch gobject-introspection to use absolute paths for shared libraries in GIR files. Building the NetworkManager docs relies on the produced introspection data but since the library is not yet installed at the time the docs are generated, the build will fail. It works in Autotools for some reason; they probably use the pregenerated GIRs from the tarball. Disabling the docs completely is not possible at the moment either, since nmc [depends on them][1]. I have decided to fix this by pointing the installed location to the one in the build directory using libredirect. Unfortunately, we cannot just set the environment variables directly, since the build system runs the documentation generator in a clean environment. I have also added man, doc and devdoc outputs so the generated files have somewhere to go. Secondly, since Nix store is immutable, we also cannot use the package prefix for configuration and mutable state data. At the same time, we cannot write to the appropriate global directories during build. Autotools allowed to change this in installFlags but Meson lacks similar mechanism so we need to patch the build files. Finally, I also removed the at_console patch since the permission has been removed in 0.9.10. [1]: https://bugzilla.gnome.org/show_bug.cgi?id=796755
- Loading branch information
Showing
3 changed files
with
91 additions
and
49 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
11 changes: 11 additions & 0 deletions
11
pkgs/tools/networking/network-manager/fix-docs-build.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
--- a/libnm/meson.build | ||
+++ b/libnm/meson.build | ||
@@ -262,6 +262,8 @@ | ||
'env', '-i', | ||
'GI_TYPELIB_PATH=' + gi_typelib_path, | ||
'LD_LIBRARY_PATH=' + ld_library_path, | ||
+ 'LD_PRELOAD=' + '@DOCS_LD_PRELOAD@', | ||
+ 'NIX_REDIRECTS=' + '@DOCS_NIX_REDIRECTS@', | ||
] | ||
|
||
name = 'nm-property-docs.xml' |
25 changes: 25 additions & 0 deletions
25
pkgs/tools/networking/network-manager/fix-install-paths.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
--- a/meson.build | ||
+++ b/meson.build | ||
@@ -925,9 +925,9 @@ | ||
join_paths('tools', 'meson-post-install.sh'), | ||
nm_datadir, | ||
nm_bindir, | ||
- nm_pkgconfdir, | ||
+ nm_prefix + nm_pkgconfdir, | ||
nm_pkglibdir, | ||
- nm_pkgstatedir, | ||
+ nm_prefix + nm_pkgstatedir, | ||
enable_docs ? 'install_docs' : '', | ||
nm_mandir, | ||
) | ||
--- a/src/settings/plugins/ifcfg-rh/meson.build | ||
+++ b/src/settings/plugins/ifcfg-rh/meson.build | ||
@@ -70,7 +70,7 @@ | ||
) | ||
|
||
meson.add_install_script('sh', '-c', | ||
- 'mkdir -p $DESTDIR/@0@/sysconfig/network-scripts'.format(nm_sysconfdir)) | ||
+ 'mkdir -p $DESTDIR/@0@/sysconfig/network-scripts'.format(nm_prefix + nm_sysconfdir)) | ||
|
||
if enable_tests | ||
subdir('tests') |
a961a28
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This commit has been mentioned on Nix community. There might be relevant details there:
https://discourse.nixos.org/t/help-using-unstable-networkmanager/2869/2