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 <KLocale>
  
 -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;