From bdf6f8528e9a8827d9d6b56a7bd8f8ff5f4298cc Mon Sep 17 00:00:00 2001 From: Yarny0 <41838844+Yarny0@users.noreply.github.com> Date: Wed, 1 Aug 2018 13:23:28 +0000 Subject: [PATCH] plasma-nm: fix path to mobile broadband provider file (#44302) When creating a new mobile broadband connection with the plasma network manager connection editor, it tries to find a file containing provider information somewhere in /usr/share/... . The build recipe contains a patch to fix the lookup path such that it finds the file in the corresponding package, probably added due to https://github.com/NixOS/nixpkgs/issues/9389 . The actual lookup path is injected into the patch file with substituteAll. With commit a31d98f3120e0f676303b7fc3e84424e6b325290 , the variable name used in subsituteAll changed from mobile_broadband_provider_info to mobile-broadband-provider-info (underscores in package names turned into dashes). Apparently, substituteAll can't handle dashes in variable names. Consequently, the variable name was no longer resolved. plasma-nm failed to create new mobile broadband connections; the connection creator silently exited and logged the error > plasma-nm: Error opening providers file "@mobile-broadband-provider-info@/share/mobile-broadband-provider-info/serviceproviders.xml" This commit keeps the dashes in package names, but it restores the underscores in the variable used by substituteAll, thereby ensuring the variable gets resolved properly. --- .../plasma-nm/0001-mobile-broadband-provider-info-path.patch | 2 +- pkgs/desktops/plasma-5/plasma-nm/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/plasma-5/plasma-nm/0001-mobile-broadband-provider-info-path.patch b/pkgs/desktops/plasma-5/plasma-nm/0001-mobile-broadband-provider-info-path.patch index 75144d352223..79b5cfb437e2 100644 --- a/pkgs/desktops/plasma-5/plasma-nm/0001-mobile-broadband-provider-info-path.patch +++ b/pkgs/desktops/plasma-5/plasma-nm/0001-mobile-broadband-provider-info-path.patch @@ -16,7 +16,7 @@ index 568cb34..98a5992 100644 #include -const QString MobileProviders::ProvidersFile = "/usr/share/mobile-broadband-provider-info/serviceproviders.xml"; -+const QString MobileProviders::ProvidersFile = "@mobile-broadband-provider-info@/share/mobile-broadband-provider-info/serviceproviders.xml"; ++const QString MobileProviders::ProvidersFile = "@mobile_broadband_provider_info@/share/mobile-broadband-provider-info/serviceproviders.xml"; bool localeAwareCompare(const QString & one, const QString & two) { return one.localeAwareCompare(two) < 0; diff --git a/pkgs/desktops/plasma-5/plasma-nm/default.nix b/pkgs/desktops/plasma-5/plasma-nm/default.nix index 214dbd9cc042..8296d549782f 100644 --- a/pkgs/desktops/plasma-5/plasma-nm/default.nix +++ b/pkgs/desktops/plasma-5/plasma-nm/default.nix @@ -21,7 +21,7 @@ mkDerivation { patches = [ (substituteAll { src = ./0001-mobile-broadband-provider-info-path.patch; - inherit mobile-broadband-provider-info; + mobile_broadband_provider_info = mobile-broadband-provider-info; }) (substituteAll { src = ./0002-openvpn-binary-path.patch;