about summary refs log tree commit diff
path: root/nixpkgs/pkgs/desktops/pantheon
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/desktops/pantheon')
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix3
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix38
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix35
4 files changed, 58 insertions, 22 deletions
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
index 6e050c92d805..1ff1068119b7 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
@@ -11,6 +11,7 @@
 , gtk3
 , networkmanager
 , networkmanagerapplet
+, libnma
 , switchboard
 }:
 
@@ -43,7 +44,7 @@ stdenv.mkDerivation rec {
     gtk3
     libgee
     networkmanager
-    networkmanagerapplet
+    libnma
     switchboard
   ];
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix
index cc6b37095fdb..67f4105ff3d1 100644
--- a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix
@@ -1,7 +1,8 @@
 { wrapGAppsHook
 , glib
 , lib
-, symlinkJoin
+, stdenv
+, xorg
 , switchboard
 , switchboardPlugs
 , plugs
@@ -14,26 +15,45 @@ let
     if plugs == null then switchboardPlugs
     else plugs ++ (lib.optionals useDefaultPlugs switchboardPlugs);
 in
-symlinkJoin {
+stdenv.mkDerivation rec {
   name = "${switchboard.name}-with-plugs";
 
+  src = null;
+
   paths = [
     switchboard
   ] ++ selectedPlugs;
 
-  buildInputs = [
-    wrapGAppsHook
+  passAsFile = [ "paths" ];
+
+  nativeBuildInputs = [
     glib
-  ] ++ (lib.forEach selectedPlugs (x: x.buildInputs))
+    wrapGAppsHook
+  ];
+
+  buildInputs = lib.forEach selectedPlugs (x: x.buildInputs)
     ++ selectedPlugs;
 
-  postBuild = ''
-    make_glib_find_gsettings_schemas
+  dontUnpack = true;
+  dontConfigure = true;
+  dontBuild = true;
 
-    gappsWrapperArgs+=(--set SWITCHBOARD_PLUGS_PATH "$out/lib/switchboard")
+  preferLocalBuild = true;
+  allowSubstitutes = false;
 
-    wrapGAppsHook
+  installPhase = ''
+    mkdir -p $out
+    for i in $(cat $pathsPath); do
+      ${xorg.lndir}/bin/lndir -silent $i $out
+    done
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --set SWITCHBOARD_PLUGS_PATH "$out/lib/switchboard"
+    )
   '';
 
   inherit (switchboard) meta;
 }
+
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
index fd22de25d63c..cd04e6287b72 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
@@ -8,7 +8,7 @@
 , gtk3
 , granite
 , networkmanager
-, networkmanagerapplet
+, libnma
 , wingpanel
 , libgee
 }:
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     gtk3
     libgee
     networkmanager
-    networkmanagerapplet
+    libnma
     wingpanel
   ];
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix
index 596ee816f891..ca887d45dc39 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix
@@ -1,7 +1,8 @@
 { lib
 , wrapGAppsHook
 , glib
-, symlinkJoin
+, stdenv
+, xorg
 , wingpanel
 , wingpanelIndicators
 , switchboard-with-plugs
@@ -15,30 +16,44 @@ let
     if indicators == null then wingpanelIndicators
     else indicators ++ (lib.optionals useDefaultIndicators wingpanelIndicators);
 in
-symlinkJoin {
+stdenv.mkDerivation rec {
   name = "${wingpanel.name}-with-indicators";
 
+  src = null;
+
   paths = [
     wingpanel
   ] ++ selectedIndicators;
 
-  buildInputs = [
+  passAsFile = [ "paths" ];
+
+  nativeBuildInputs = [
     glib
     wrapGAppsHook
-  ] ++ (lib.forEach selectedIndicators (x: x.buildInputs))
+  ];
+
+  buildInputs = lib.forEach selectedIndicators (x: x.buildInputs)
     ++ selectedIndicators;
 
-  # We have to set SWITCHBOARD_PLUGS_PATH because wingpanel-applications-menu
-  # has a plugin to search switchboard settings
-  postBuild = ''
-    make_glib_find_gsettings_schemas
+  dontUnpack = true;
+  dontConfigure = true;
+  dontBuild = true;
+
+  preferLocalBuild = true;
+  allowSubstitutes = false;
 
+  installPhase = ''
+    mkdir -p $out
+    for i in $(cat $pathsPath); do
+      ${xorg.lndir}/bin/lndir -silent $i $out
+    done
+  '';
+
+  preFixup = ''
     gappsWrapperArgs+=(
       --set WINGPANEL_INDICATORS_PATH "$out/lib/wingpanel"
       --set SWITCHBOARD_PLUGS_PATH "${switchboard-with-plugs}/lib/switchboard"
     )
-
-    wrapGAppsHook
   '';
 
   inherit (wingpanel) meta;