summary refs log tree commit diff
path: root/pkgs/games
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/games')
-rw-r--r--pkgs/games/neverball/default.nix13
-rw-r--r--pkgs/games/polymc/default.nix27
2 files changed, 21 insertions, 19 deletions
diff --git a/pkgs/games/neverball/default.nix b/pkgs/games/neverball/default.nix
index ba1d403207a..5e8e3f41c78 100644
--- a/pkgs/games/neverball/default.nix
+++ b/pkgs/games/neverball/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, SDL2, libGL, libpng, libjpeg, SDL2_ttf, libvorbis, gettext
+{ lib, stdenv, fetchurl, fetchpatch, SDL2, libGL, libpng, libjpeg, SDL2_ttf, libvorbis, gettext
 , physfs }:
 
 stdenv.mkDerivation rec {
@@ -8,12 +8,21 @@ stdenv.mkDerivation rec {
     url = "https://neverball.org/neverball-${version}.tar.gz";
     sha256 = "184gm36c6p6vaa6gwrfzmfh86klhnb03pl40ahsjsvprlk667zkk";
   };
+  patches = [
+    # Pull upstream fix for -fno-common toolchains
+    #   https://github.com/Neverball/neverball/pull/198
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/Neverball/neverball/commit/a42492b8db06934c7a794630db92e3ff6ebaadaa.patch";
+      sha256 = "0sqyxfwpl4xxra8iz87j5rxzwani16xra2xl4l5z61shvq30308h";
+    })
+  ];
 
   buildInputs = [ libpng SDL2 libGL libjpeg SDL2_ttf libvorbis gettext physfs ];
 
   dontPatchELF = true;
 
-  patchPhase = ''
+  postPatch = ''
     sed -i -e 's@\./data@'$out/share/neverball/data@ share/base_config.h Makefile
     sed -i -e 's@\./locale@'$out/share/neverball/locale@ share/base_config.h Makefile
     sed -i -e 's@-lvorbisfile@-lvorbisfile -lX11 -lgcc_s@' Makefile
diff --git a/pkgs/games/polymc/default.nix b/pkgs/games/polymc/default.nix
index a0f4abc1e7c..2fa5ce7cf06 100644
--- a/pkgs/games/polymc/default.nix
+++ b/pkgs/games/polymc/default.nix
@@ -1,12 +1,12 @@
 { lib
-, mkDerivation
+, stdenv
 , fetchFromGitHub
 , cmake
 , jdk8
 , jdk
 , zlib
 , file
-, makeWrapper
+, wrapQtAppsHook
 , xorg
 , libpulseaudio
 , qtbase
@@ -15,32 +15,25 @@
 , glfw
 , openal
 , msaClientID ? ""
+, jdks ? [ jdk jdk8 ]
 }:
 
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "polymc";
-  version = "1.3.1";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "PolyMC";
     repo = "PolyMC";
     rev = version;
-    sha256 = "sha256-oTzhKGDi1Kr3JXY9dYQf1rVDPFr52tJ7L+rb5LCbtBE=";
+    sha256 = "sha256-hqsyS82UzgCUZ9HjoPKjOLE49fwLntRAh3mVrTsmi3o=";
     fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ cmake file jdk makeWrapper ];
+  nativeBuildInputs = [ cmake file jdk wrapQtAppsHook ];
   buildInputs = [ qtbase zlib quazip ];
 
-  postPatch = ''
-    # hardcode jdk paths
-    substituteInPlace launcher/java/JavaUtils.cpp \
-      --replace 'scanJavaDir("/usr/lib/jvm")' 'javas.append("${jdk}/lib/openjdk/bin/java")' \
-      --replace 'scanJavaDir("/usr/lib32/jvm")' 'javas.append("${jdk8}/lib/openjdk/bin/java")'
-  '';
-
-  cmakeFlags = [ "-DLauncher_PORTABLE=0" ] ++
-               lib.optionals (msaClientID != "") [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ];
+  cmakeFlags = lib.optionals (msaClientID != "") [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ];
 
   dontWrapQtApps = true;
 
@@ -58,9 +51,9 @@ mkDerivation rec {
     ];
   in ''
     # xorg.xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
-    wrapProgram $out/bin/polymc \
-      "''${qtWrapperArgs[@]}" \
+    wrapQtApp $out/bin/polymc \
       --set GAME_LIBRARY_PATH /run/opengl-driver/lib:${libpath} \
+      --prefix POLYMC_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks} \
       --prefix PATH : ${lib.makeBinPath [ xorg.xrandr ]}
   '';