From e488670764c520394c0780c99dbaad15de143aae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Wed, 4 Dec 2019 22:19:21 +0100 Subject: [PATCH] makeDesktopItem: use runCommandLocal This derivation only creates a simple text file, so it makes sense to do it locally. On my setup this reduces build time from 2.2s to 1.2s. --- .../make-desktopitem/default.nix | 33 ++++++++----------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/pkgs/build-support/make-desktopitem/default.nix b/pkgs/build-support/make-desktopitem/default.nix index f8c31ed5c1d4..67b82fd66db1 100644 --- a/pkgs/build-support/make-desktopitem/default.nix +++ b/pkgs/build-support/make-desktopitem/default.nix @@ -1,4 +1,4 @@ -{stdenv, lib}: +{ lib, runCommandLocal }: { name , type ? "Application" , exec @@ -13,24 +13,20 @@ , extraEntries ? null }: -stdenv.mkDerivation { - name = "${name}.desktop"; +let + optionalEntriesList = [{k="Icon"; v=icon;} + {k="Comment"; v=comment;} + {k="GenericName"; v=genericName;} + {k="MimeType"; v=mimeType;} + {k="StartupNotify"; v=startupNotify;}]; - buildCommand = let + valueNotNull = {k, v}: v != null; + entriesToKeep = builtins.filter valueNotNull optionalEntriesList; - optionalEntriesList = [{k="Icon"; v=icon;} - {k="Comment"; v=comment;} - {k="GenericName"; v=genericName;} - {k="MimeType"; v=mimeType;} - {k="StartupNotify"; v=startupNotify;}]; - - valueNotNull = {k, v}: v != null; - entriesToKeep = builtins.filter valueNotNull optionalEntriesList; - - mkEntry = {k, v}: k + "=" + v; - optionalEntriesString = lib.concatMapStringsSep "\n" mkEntry entriesToKeep; - - in + mkEntry = {k, v}: k + "=" + v; + optionalEntriesString = lib.concatMapStringsSep "\n" mkEntry entriesToKeep; +in +runCommandLocal "${name}.desktop" {} '' mkdir -p $out/share/applications cat > $out/share/applications/${name}.desktop <