pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / games / runelite / default.nix
blob101bfbe3b01abba48898004283107c66943345b6
1 { lib
2 , fetchFromGitHub
3 , makeDesktopItem
4 , makeWrapper
5 , maven
6 , jdk17
7 , jre
8 , xorg
9 , gitUpdater
10 , libGL
13 maven.buildMavenPackage rec {
14   pname = "runelite";
15   version = "2.7.2";
17   src = fetchFromGitHub {
18     owner = "runelite";
19     repo = "launcher";
20     rev = version;
21     hash = "sha256-ckeZ/7rACyZ5j+zzC5hv1NaXTi9q/KvOzMPTDd1crHQ=";
22   };
24   mvnJdk = jdk17;
25   mvnHash = "sha256-FpfHtGIfo84z6v9/nzc47+JeIM43MR9mWhVOPSi0xhM=";
27   desktop = makeDesktopItem {
28     name = "RuneLite";
29     type = "Application";
30     exec = "runelite";
31     icon = "runelite";
32     comment = "Open source Old School RuneScape client";
33     desktopName = "RuneLite";
34     genericName = "Oldschool Runescape";
35     categories = [ "Game" ];
36   };
38   # tests require internet :(
39   mvnParameters = "-Dmaven.test.skip";
40   nativeBuildInputs = [ makeWrapper ];
42   installPhase = ''
43     mkdir -p $out/share/icons
44     mkdir -p $out/share/applications
46     cp target/RuneLite.jar $out/share
47     cp appimage/runelite.png $out/share/icons
49     ln -s ${desktop}/share/applications/RuneLite.desktop $out/share/applications/RuneLite.desktop
51     makeWrapper ${jre}/bin/java $out/bin/runelite \
52       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ xorg.libXxf86vm libGL ]}" \
53       --add-flags "-jar $out/share/RuneLite.jar"
54   '';
56   passthru.updateScript = gitUpdater { };
58   meta = {
59     description = "Open source Old School RuneScape client";
60     homepage = "https://runelite.net/";
61     sourceProvenance = with lib.sourceTypes; [
62       binaryBytecode
63       binaryNativeCode
64     ];
65     license = lib.licenses.bsd2;
66     maintainers = with lib.maintainers; [ kmeakin moody ];
67     platforms = [ "x86_64-linux" ];
68     mainProgram = "runelite";
69   };