From e4c195408450c45bbac9dc6010e8f39c7e8ea3ed Mon Sep 17 00:00:00 2001 From: Jacob Moody Date: Mon, 11 Sep 2023 17:26:31 -0500 Subject: [PATCH 1/5] runelite: 2.5.0 -> 2.6.8 --- pkgs/games/runelite/default.nix | 48 +++++++++++---------------------- 1 file changed, 16 insertions(+), 32 deletions(-) diff --git a/pkgs/games/runelite/default.nix b/pkgs/games/runelite/default.nix index 0f71164f62fd..d86d1ddd79ea 100644 --- a/pkgs/games/runelite/default.nix +++ b/pkgs/games/runelite/default.nix @@ -1,27 +1,17 @@ -{ pkgs, lib, stdenv, makeDesktopItem, fetchurl, unzip, makeWrapper, xorg, jre, }: +{ lib, stdenv, makeDesktopItem, fetchurl, makeWrapper, xorg, jre, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "runelite"; - version = "2.5.0"; + version = "2.6.8"; jar = fetchurl { - url = "https://github.com/runelite/launcher/releases/download/${version}/RuneLite.jar"; - hash = "sha512-uEvlxXtnq7pgt8H5/hYIMu/kl32/dNojcHrPW6n2/RD/nzywreDw4kZ3G1kx0gGBY71x0RIEseEbm4BM+fhJlQ=="; + url = "https://github.com/runelite/launcher/releases/download/${finalAttrs.version}/RuneLite.jar"; + hash = "sha256-reqTRYXmpfxwo5MkxQFdifldFpTY0ascTPXA4mSvluM="; }; icon = fetchurl { - url = "https://github.com/runelite/launcher/raw/${version}/appimage/runelite.png"; - hash = "sha512-Yh8mpc6z9xd6ePe3f1f+KzrpE9r3fsdtQ0pfAvOhK/0hrCo/17eQA6v73yFXZcPQogVwm9CmJlrx4CkfzB25RQ=="; - }; - - # The `.so` files provided by these two jars aren't detected by RuneLite for some reason, so we have to provide them manually - jogl = fetchurl { - url = "https://repo.runelite.net/net/runelite/jogl/jogl-all/2.4.0-rc-20200429/jogl-all-2.4.0-rc-20200429-natives-linux-amd64.jar"; - hash = "sha512-OmJIbk5pKtvf1n1I5UHu6iaOKNrPgmaJTPhqC8yMjaRh/Hso1vV/+Eu+zKu7d5UiVggVUzJxqDKatmEnqFrzbg=="; - }; - gluegen = fetchurl { - url = "https://repo.runelite.net/net/runelite/gluegen/gluegen-rt/2.4.0-rc-20220318/gluegen-rt-2.4.0-rc-20220318-natives-linux-amd64.jar"; - hash = "sha512-kF+RdDzYEhBuZOJ6ZwMhaEVcjYLxiwR8tYAm08FXDML45iP4HBEfmqHOLJpIakK06aQFj99/296vx810eDFX5A=="; + url = "https://github.com/runelite/launcher/raw/${finalAttrs.version}/appimage/runelite.png"; + hash = "sha256-gcts59jEuRVOmECrnSk40OYjTyJwSfAEys+Qck+VzBE="; }; dontUnpack = true; @@ -29,41 +19,35 @@ stdenv.mkDerivation rec { name = "RuneLite"; type = "Application"; exec = "runelite"; - icon = icon; + icon = finalAttrs.icon; comment = "Open source Old School RuneScape client"; desktopName = "RuneLite"; genericName = "Oldschool Runescape"; categories = [ "Game" ]; }; - nativeBuildInputs = [ makeWrapper unzip ]; + nativeBuildInputs = [ makeWrapper ]; installPhase = '' mkdir -p $out/share/runelite mkdir -p $out/share/applications - mkdir -p $out/natives - unzip ${jogl} 'natives/*' -d $out - unzip ${gluegen} 'natives/*' -d $out + ln -s ${finalAttrs.jar} $out/share/runelite/RuneLite.jar + ln -s ${finalAttrs.desktop}/share/applications/RuneLite.desktop $out/share/applications/RuneLite.desktop - ln -s ${jar} $out/share/runelite/RuneLite.jar - ln -s ${desktop}/share/applications/RuneLite.desktop $out/share/applications/RuneLite.desktop - - # RuneLite looks for `.so` files in $PWD/natives, so ensure that we set the PWD to the right place makeWrapper ${jre}/bin/java $out/bin/runelite \ - --chdir "$out" \ --prefix LD_LIBRARY_PATH : "${xorg.libXxf86vm}/lib" \ --add-flags "-jar $out/share/runelite/RuneLite.jar" ''; - meta = with lib; { + meta = { description = "Open source Old School RuneScape client"; homepage = "https://runelite.net/"; - sourceProvenance = with sourceTypes; [ + sourceProvenance = with lib.sourceTypes; [ binaryBytecode binaryNativeCode ]; - license = licenses.bsd2; - maintainers = with maintainers; [ kmeakin ]; + license = lib.licenses.bsd2; + maintainers = with lib.maintainers; [ kmeakin ]; platforms = [ "x86_64-linux" ]; }; -} +}) From 1fd9b59f79c25994107fbc43c60f1dbfb062c806 Mon Sep 17 00:00:00 2001 From: Jacob Moody Date: Mon, 11 Sep 2023 17:42:27 -0500 Subject: [PATCH 2/5] runelite: add mainProgram --- pkgs/games/runelite/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/games/runelite/default.nix b/pkgs/games/runelite/default.nix index d86d1ddd79ea..5b362304a84b 100644 --- a/pkgs/games/runelite/default.nix +++ b/pkgs/games/runelite/default.nix @@ -49,5 +49,6 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.bsd2; maintainers = with lib.maintainers; [ kmeakin ]; platforms = [ "x86_64-linux" ]; + mainProgram = "runelite"; }; }) From 56a843852bb40aec9545269476f94fc95062e8a0 Mon Sep 17 00:00:00 2001 From: Jacob Moody Date: Tue, 7 Nov 2023 15:15:37 -0600 Subject: [PATCH 3/5] runelite: 2.6.8 -> 2.6.9 --- pkgs/games/runelite/default.nix | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/games/runelite/default.nix b/pkgs/games/runelite/default.nix index 5b362304a84b..f6d8a9c198ba 100644 --- a/pkgs/games/runelite/default.nix +++ b/pkgs/games/runelite/default.nix @@ -1,12 +1,20 @@ -{ lib, stdenv, makeDesktopItem, fetchurl, makeWrapper, xorg, jre, }: +{ lib +, stdenv +, makeDesktopItem +, fetchurl +, makeWrapper +, xorg +, jre +, +}: stdenv.mkDerivation (finalAttrs: { pname = "runelite"; - version = "2.6.8"; + version = "2.6.9"; jar = fetchurl { url = "https://github.com/runelite/launcher/releases/download/${finalAttrs.version}/RuneLite.jar"; - hash = "sha256-reqTRYXmpfxwo5MkxQFdifldFpTY0ascTPXA4mSvluM="; + hash = "sha256-91iBBviXM3tJN/jRgcOzUuTAr9VrKnW55uYrNW7eB5Q="; }; icon = fetchurl { From 835ce94566c4c9c7c4db74a05b47f7cadabd2ead Mon Sep 17 00:00:00 2001 From: Jacob Moody Date: Tue, 7 Nov 2023 16:06:43 -0600 Subject: [PATCH 4/5] runelite: build jar from source instead of downloading --- pkgs/games/runelite/default.nix | 44 ++++++++++++++++----------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/pkgs/games/runelite/default.nix b/pkgs/games/runelite/default.nix index f6d8a9c198ba..e5a9b28b8bc1 100644 --- a/pkgs/games/runelite/default.nix +++ b/pkgs/games/runelite/default.nix @@ -1,50 +1,48 @@ { lib -, stdenv +, fetchFromGitHub , makeDesktopItem -, fetchurl , makeWrapper -, xorg +, maven , jre -, +, xorg }: -stdenv.mkDerivation (finalAttrs: { +maven.buildMavenPackage rec { pname = "runelite"; version = "2.6.9"; - jar = fetchurl { - url = "https://github.com/runelite/launcher/releases/download/${finalAttrs.version}/RuneLite.jar"; - hash = "sha256-91iBBviXM3tJN/jRgcOzUuTAr9VrKnW55uYrNW7eB5Q="; + src = fetchFromGitHub { + owner = "runelite"; + repo = "launcher"; + rev = version; + hash = "sha256-wU97uiotKZfui0ir7rmO1WLN3G6lTMxqF6vTyrlax1Q="; }; - - icon = fetchurl { - url = "https://github.com/runelite/launcher/raw/${finalAttrs.version}/appimage/runelite.png"; - hash = "sha256-gcts59jEuRVOmECrnSk40OYjTyJwSfAEys+Qck+VzBE="; - }; - dontUnpack = true; + mvnHash = "sha256-iGnoAZcJvaVoACi9ozG/f+A8tjvDuwn22bMRyuUU5Jg="; desktop = makeDesktopItem { name = "RuneLite"; type = "Application"; exec = "runelite"; - icon = finalAttrs.icon; + icon = "runelite"; comment = "Open source Old School RuneScape client"; desktopName = "RuneLite"; genericName = "Oldschool Runescape"; categories = [ "Game" ]; }; + # tests require internet :( + mvnParameters = "-Dmaven.test.skip"; nativeBuildInputs = [ makeWrapper ]; - installPhase = '' - mkdir -p $out/share/runelite - mkdir -p $out/share/applications - ln -s ${finalAttrs.jar} $out/share/runelite/RuneLite.jar - ln -s ${finalAttrs.desktop}/share/applications/RuneLite.desktop $out/share/applications/RuneLite.desktop + installPhase = '' + mkdir -p $out/share/icons + + cp target/RuneLite.jar $out/share + cp appimage/runelite.png $out/share/icons makeWrapper ${jre}/bin/java $out/bin/runelite \ --prefix LD_LIBRARY_PATH : "${xorg.libXxf86vm}/lib" \ - --add-flags "-jar $out/share/runelite/RuneLite.jar" + --add-flags "-jar $out/share/RuneLite.jar" ''; meta = { @@ -55,8 +53,8 @@ stdenv.mkDerivation (finalAttrs: { binaryNativeCode ]; license = lib.licenses.bsd2; - maintainers = with lib.maintainers; [ kmeakin ]; + maintainers = with lib.maintainers; [ kmeakin moody ]; platforms = [ "x86_64-linux" ]; mainProgram = "runelite"; }; -}) +} From b4fc3f72d9c26cfbe0a381e4de8f6662ae1f5c8a Mon Sep 17 00:00:00 2001 From: Jacob Moody Date: Thu, 9 Nov 2023 08:44:34 -0600 Subject: [PATCH 5/5] runelite: add updateScript --- pkgs/games/runelite/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/games/runelite/default.nix b/pkgs/games/runelite/default.nix index e5a9b28b8bc1..a4963eb2a9d1 100644 --- a/pkgs/games/runelite/default.nix +++ b/pkgs/games/runelite/default.nix @@ -5,6 +5,7 @@ , maven , jre , xorg +, gitUpdater }: maven.buildMavenPackage rec { @@ -45,6 +46,8 @@ maven.buildMavenPackage rec { --add-flags "-jar $out/share/RuneLite.jar" ''; + passthru.updateScript = gitUpdater { }; + meta = { description = "Open source Old School RuneScape client"; homepage = "https://runelite.net/";