From 48cb251ae64d6d17d9bbbe642b10ca2edf8a95fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=9C=E5=9D=82=E9=9B=85?= <23130178+ShadowRZ@users.noreply.github.com> Date: Sat, 19 Sep 2026 22:37:14 +0800 Subject: [PATCH] runelite: use copyDesktopItems for desktop entry installation --- pkgs/by-name/ru/runelite/package.nix | 32 +++++++++++++++++----------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/pkgs/by-name/ru/runelite/package.nix b/pkgs/by-name/ru/runelite/package.nix index dc5aa216bb37..4454cde4b5af 100644 --- a/pkgs/by-name/ru/runelite/package.nix +++ b/pkgs/by-name/ru/runelite/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + copyDesktopItems, makeDesktopItem, makeWrapper, gradle, @@ -23,21 +24,24 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-1IUjbZEvoHb2Fer16rIvi6shMsol+hiPLQleXHRVLEU="; }; - desktop = makeDesktopItem { - name = "RuneLite"; - type = "Application"; - exec = "runelite"; - icon = "runelite"; - comment = "Open source Old School RuneScape client"; - desktopName = "RuneLite"; - genericName = "Oldschool Runescape"; - categories = [ "Game" ]; - startupWMClass = "net-runelite-client-RuneLite"; - }; + desktopItems = [ + (makeDesktopItem { + name = "RuneLite"; + type = "Application"; + exec = "runelite"; + icon = "runelite"; + comment = "Open source Old School RuneScape client"; + desktopName = "RuneLite"; + genericName = "Oldschool Runescape"; + categories = [ "Game" ]; + startupWMClass = "net-runelite-client-RuneLite"; + }) + ]; nativeBuildInputs = [ gradle makeWrapper + copyDesktopItems ]; mitmCache = gradle.fetchDeps { @@ -50,14 +54,14 @@ stdenv.mkDerivation (finalAttrs: { gradleBuildTask = "shadowJar"; installPhase = '' + runHook preInstall + mkdir -p $out/share/icons mkdir -p $out/share/applications cp build/libs/RuneLite.jar $out/share cp appimage/runelite.png $out/share/icons - ln -s ${finalAttrs.desktop}/share/applications/RuneLite.desktop $out/share/applications/RuneLite.desktop - makeWrapper ${jre}/bin/java $out/bin/runelite \ --prefix LD_LIBRARY_PATH : "${ lib.makeLibraryPath [ @@ -66,6 +70,8 @@ stdenv.mkDerivation (finalAttrs: { ] }" \ --add-flags "-jar $out/share/RuneLite.jar" + + runHook postInstall ''; passthru.updateScript = nix-update-script { };