From 4327b9d9459bb0d4d4b67c14b1f85b678243e9bb Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 20 Feb 2018 07:29:56 -0600 Subject: [PATCH 1/3] multimc: 0.5.1 -> 0.6.1 Fetch dependencies as git submodules: * Replaces need to manually track + fetch libnbtplusplus source * upstream relies on a forked version of quazip so we can't use ours Fixes #35189. --- pkgs/games/multimc/default.nix | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/pkgs/games/multimc/default.nix b/pkgs/games/multimc/default.nix index e438008b19c..7d738e46009 100644 --- a/pkgs/games/multimc/default.nix +++ b/pkgs/games/multimc/default.nix @@ -1,31 +1,17 @@ { stdenv, fetchFromGitHub, cmake, jdk, zlib, file, makeWrapper, xorg, libpulseaudio, qtbase, quazip }: -let - libnbt = fetchFromGitHub { - owner = "MultiMC"; - repo = "libnbtplusplus"; - rev = "4b305bb"; - sha256 = "1zj7pxk0g5zl16hrngb4rss00hi019rylin7zgf18kaymc54nbcs"; - }; -in stdenv.mkDerivation { - name = "multimc-0.5.1"; + name = "multimc-0.6.1"; src = fetchFromGitHub { owner = "MultiMC"; repo = "MultiMC5"; - rev = "0.5.1"; - sha256 = "0wmlnwcq3gxrbmc53j96aa64pp1kmnlxiifhzngcb5kfmbbc8a20"; + rev = "0.6.1"; + sha256 = "0glsf4vfir8w24bpinf3cx2ninrcp7hpq9cl463wl78dvqfg47kx"; + fetchSubmodules = true; }; buildInputs = [ cmake qtbase jdk zlib file makeWrapper ]; libpath = with xorg; [ libX11 libXext libXcursor libXrandr libXxf86vm libpulseaudio ]; - postUnpack = '' - rmdir $sourceRoot/libraries/libnbtplusplus - cp -r ${libnbt} $sourceRoot/libraries/libnbtplusplus - chmod 755 -R $sourceRoot/libraries/libnbtplusplus - mkdir -pv $sourceRoot/build/ - cp -v ${quazip.src} $sourceRoot/build/quazip-0.7.1.tar.gz - ''; enableParallelBuilding = true; From e2ceb06642e1b1ac4e9d613267cd84a79509e2e1 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 20 Feb 2018 07:38:15 -0600 Subject: [PATCH 2/3] multimc: simplify a bit --- pkgs/games/multimc/default.nix | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/pkgs/games/multimc/default.nix b/pkgs/games/multimc/default.nix index 7d738e46009..b810420c64a 100644 --- a/pkgs/games/multimc/default.nix +++ b/pkgs/games/multimc/default.nix @@ -1,32 +1,23 @@ { stdenv, fetchFromGitHub, cmake, jdk, zlib, file, makeWrapper, xorg, libpulseaudio, qtbase, quazip }: -stdenv.mkDerivation { - name = "multimc-0.6.1"; +let + libpath = with xorg; stdenv.lib.makeLibraryPath [ libX11 libXext libXcursor libXrandr libXxf86vm libpulseaudio ]; +in stdenv.mkDerivation rec { + name = "multimc-${version}"; + version = "0.6.1"; src = fetchFromGitHub { owner = "MultiMC"; repo = "MultiMC5"; - rev = "0.6.1"; + rev = version; sha256 = "0glsf4vfir8w24bpinf3cx2ninrcp7hpq9cl463wl78dvqfg47kx"; fetchSubmodules = true; }; buildInputs = [ cmake qtbase jdk zlib file makeWrapper ]; - libpath = with xorg; [ libX11 libXext libXcursor libXrandr libXxf86vm libpulseaudio ]; - enableParallelBuilding = true; - # the install rule tries to bundle ALL deps into the output for portability - installPhase = '' - RESULT=/run/opengl-driver/lib/ - for x in $libpath; do - RESULT=$x/lib/:$RESULT - done - - mkdir -pv $out/bin/jars $out/lib - cp -v MultiMC $out/bin/ - cp -v jars/*.jar $out/bin/jars/ #*/ - cp -v libMultiMC_rainbow.so libMultiMC_nbt++.so libMultiMC_logic.so libMultiMC_gui.so $out/lib - wrapProgram $out/bin/MultiMC --add-flags "-d \$HOME/.multimc/" --set GAME_LIBRARY_PATH $RESULT --prefix PATH : ${jdk}/bin/ + postInstall = '' + wrapProgram $out/bin/MultiMC --add-flags "-d \$HOME/.multimc/" --set GAME_LIBRARY_PATH /run/opengl-driver/lib:${libpath} --prefix PATH : ${jdk}/bin/ ''; meta = with stdenv.lib; { From ad71b24d07655d7c15b977abb9f774ab187d49db Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 20 Feb 2018 08:45:52 -0600 Subject: [PATCH 3/3] multimc: drop quazip per reviewer feedback, use nativeBuildInputs a bit --- pkgs/games/multimc/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/games/multimc/default.nix b/pkgs/games/multimc/default.nix index b810420c64a..35444f82f66 100644 --- a/pkgs/games/multimc/default.nix +++ b/pkgs/games/multimc/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, cmake, jdk, zlib, file, makeWrapper, xorg, libpulseaudio, qtbase, quazip }: +{ stdenv, fetchFromGitHub, cmake, jdk, zlib, file, makeWrapper, xorg, libpulseaudio, qtbase }: let libpath = with xorg; stdenv.lib.makeLibraryPath [ libX11 libXext libXcursor libXrandr libXxf86vm libpulseaudio ]; @@ -12,7 +12,8 @@ in stdenv.mkDerivation rec { sha256 = "0glsf4vfir8w24bpinf3cx2ninrcp7hpq9cl463wl78dvqfg47kx"; fetchSubmodules = true; }; - buildInputs = [ cmake qtbase jdk zlib file makeWrapper ]; + nativeBuildInputs = [ cmake file makeWrapper ]; + buildInputs = [ qtbase jdk zlib ]; enableParallelBuilding = true;