From a8315aa241709829c571ed7f7c875612a992dc08 Mon Sep 17 00:00:00 2001 From: Sander van der Burg Date: Sun, 10 May 2009 12:03:53 +0000 Subject: [PATCH] Added desktop file generation function and desktop item for firefox svn path=/nixpkgs/trunk/; revision=15529 --- .../browsers/firefox-wrapper/default.nix | 15 ++++++++- .../make-desktopitem/default.nix | 33 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 6 +++- 3 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 pkgs/build-support/make-desktopitem/default.nix diff --git a/pkgs/applications/networking/browsers/firefox-wrapper/default.nix b/pkgs/applications/networking/browsers/firefox-wrapper/default.nix index c201d30e13f..f68f0f92e28 100644 --- a/pkgs/applications/networking/browsers/firefox-wrapper/default.nix +++ b/pkgs/applications/networking/browsers/firefox-wrapper/default.nix @@ -1,8 +1,18 @@ -{stdenv, browser, browserName ? "firefox", nameSuffix ? "", makeWrapper, plugins}: +{stdenv, browser, browserName ? "firefox", nameSuffix ? "", makeDesktopItem, makeWrapper, plugins}: stdenv.mkDerivation { name = browser.name + "-with-plugins"; + desktopItem = makeDesktopItem { + name = browserName; + exec = browserName; + icon = "${browser}/lib/${browser.name}/icons/mozicon128.png"; + comment = ""; + desktopName = browserName; + genericName = "Web Browser"; + categories = "Application;Network;"; + }; + buildInputs = [makeWrapper]; buildCommand = '' @@ -16,6 +26,9 @@ stdenv.mkDerivation { "$out/bin/${browserName}${nameSuffix}" \ --suffix-each MOZ_PLUGIN_PATH ':' "$plugins" \ --suffix-contents PATH ':' "$(filterExisting $(addSuffix /extra-bin-path $plugins))" + + ensureDir $out/share/applications + cp $desktopItem/share/applications/* $out/share/applications ''; # Let each plugin tell us (through its `mozillaPlugin') attribute diff --git a/pkgs/build-support/make-desktopitem/default.nix b/pkgs/build-support/make-desktopitem/default.nix new file mode 100644 index 00000000000..7f3b97a33b7 --- /dev/null +++ b/pkgs/build-support/make-desktopitem/default.nix @@ -0,0 +1,33 @@ +{stdenv}: +{ name +, type ? "Application" +, exec +, icon ? "" +, comment ? "" +, terminal ? "false" +, desktopName +, genericName +, mimeType ? "" +, categories ? "Application;Other;" +, encoding ? "UTF-8" +}: + +stdenv.mkDerivation { + inherit name; + buildCommand = '' + ensureDir $out/share/applications + cat > $out/share/applications/$name.desktop <