Merge pull request #229918 from Scrumplex/prismlauncher-unwrapped

prismlauncher: add unwrapped packages

authored by

Sandro and committed by
GitHub
0743acec bb820fba

+91 -50
+10 -48
pkgs/games/prismlauncher/default.nix
··· 3 3 , fetchFromGitHub 4 4 , cmake 5 5 , ninja 6 - , jdk8 7 6 , jdk17 8 7 , zlib 9 - , file 10 - , wrapQtAppsHook 11 - , xorg 12 - , libpulseaudio 13 8 , qtbase 14 - , qtsvg 15 - , qtwayland 16 - , libGL 17 9 , quazip 18 - , glfw 19 - , openal 20 10 , extra-cmake-modules 21 11 , tomlplusplus 22 12 , ghc_filesystem 23 - , msaClientID ? "" 24 - , jdks ? [ jdk17 jdk8 ] 13 + , gamemode 14 + , msaClientID ? null 25 15 , gamemodeSupport ? true 26 - , gamemode 27 16 }: 28 - 29 17 let 30 18 libnbtplusplus = fetchFromGitHub { 31 19 owner = "PrismLauncher"; ··· 34 22 sha256 = "sha256-TvVOjkUobYJD9itQYueELJX3wmecvEdCbJ0FinW2mL4="; 35 23 }; 36 24 in 37 - 38 25 stdenv.mkDerivation rec { 39 - pname = "prismlauncher"; 26 + pname = "prismlauncher-unwrapped"; 40 27 version = "6.3"; 41 28 42 29 src = fetchFromGitHub { ··· 46 33 sha256 = "sha256-7tptHKWkbdxTn6VIPxXE1K3opKRiUW2zv9r6J05dcS8="; 47 34 }; 48 35 49 - nativeBuildInputs = [ extra-cmake-modules cmake file jdk17 ninja wrapQtAppsHook ]; 36 + nativeBuildInputs = [ extra-cmake-modules cmake jdk17 ninja ]; 50 37 buildInputs = [ 51 38 qtbase 52 - qtsvg 53 39 zlib 54 40 quazip 55 41 ghc_filesystem 56 42 tomlplusplus 57 - ] 58 - ++ lib.optional (lib.versionAtLeast qtbase.version "6") qtwayland 59 - ++ lib.optional gamemodeSupport gamemode.dev; 43 + ] ++ lib.optional gamemodeSupport gamemode; 44 + 45 + hardeningEnable = [ "pie" ]; 60 46 61 - cmakeFlags = lib.optionals (msaClientID != "") [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ] 47 + cmakeFlags = lib.optionals (msaClientID != null) [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ] 62 48 ++ lib.optionals (lib.versionAtLeast qtbase.version "6") [ "-DLauncher_QT_VERSION_MAJOR=6" ]; 63 49 64 50 postUnpack = '' 65 51 rm -rf source/libraries/libnbtplusplus 66 - mkdir source/libraries/libnbtplusplus 67 - ln -s ${libnbtplusplus}/* source/libraries/libnbtplusplus 68 - chmod -R +r+w source/libraries/libnbtplusplus 69 - chown -R $USER: source/libraries/libnbtplusplus 52 + ln -s ${libnbtplusplus} source/libraries/libnbtplusplus 70 53 ''; 71 54 72 - qtWrapperArgs = 73 - let 74 - libpath = with xorg; 75 - lib.makeLibraryPath ([ 76 - libX11 77 - libXext 78 - libXcursor 79 - libXrandr 80 - libXxf86vm 81 - libpulseaudio 82 - libGL 83 - glfw 84 - openal 85 - stdenv.cc.cc.lib 86 - ] ++ lib.optional gamemodeSupport gamemode.lib); 87 - in 88 - [ 89 - "--set LD_LIBRARY_PATH /run/opengl-driver/lib:${libpath}" 90 - "--prefix PRISMLAUNCHER_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks}" 91 - # xorg.xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128 92 - "--prefix PATH : ${lib.makeBinPath [xorg.xrandr]}" 93 - ]; 55 + dontWrapQtApps = true; 94 56 95 57 meta = with lib; { 96 58 homepage = "https://prismlauncher.org/";
+75
pkgs/games/prismlauncher/wrapper.nix
··· 1 + { lib 2 + , stdenv 3 + , symlinkJoin 4 + , prismlauncher-unwrapped 5 + , wrapQtAppsHook 6 + , qtbase # needed for wrapQtAppsHook 7 + , qtsvg 8 + , qtwayland 9 + , xorg 10 + , libpulseaudio 11 + , libGL 12 + , glfw 13 + , openal 14 + , jdk8 15 + , jdk17 16 + , gamemode 17 + 18 + , msaClientID ? null 19 + , gamemodeSupport ? true 20 + , jdks ? [ jdk17 jdk8 ] 21 + , additionalLibs ? [ ] 22 + }: 23 + let 24 + prismlauncherFinal = prismlauncher-unwrapped.override { 25 + inherit msaClientID gamemodeSupport; 26 + }; 27 + in 28 + symlinkJoin { 29 + name = "prismlauncher-${prismlauncherFinal.version}"; 30 + 31 + paths = [ prismlauncherFinal ]; 32 + 33 + nativeBuildInputs = [ 34 + wrapQtAppsHook 35 + ]; 36 + 37 + buildInputs = [ 38 + qtbase 39 + qtsvg 40 + ] 41 + ++ lib.optional (lib.versionAtLeast qtbase.version "6") qtwayland; 42 + 43 + postBuild = '' 44 + wrapQtAppsHook 45 + ''; 46 + 47 + qtWrapperArgs = 48 + let 49 + libs = (with xorg; [ 50 + libX11 51 + libXext 52 + libXcursor 53 + libXrandr 54 + libXxf86vm 55 + ]) 56 + ++ [ 57 + libpulseaudio 58 + libGL 59 + glfw 60 + openal 61 + stdenv.cc.cc.lib 62 + ] 63 + ++ lib.optional gamemodeSupport gamemode.lib 64 + ++ additionalLibs; 65 + 66 + in 67 + [ 68 + "--set LD_LIBRARY_PATH /run/opengl-driver/lib:${lib.makeLibraryPath libs}" 69 + "--prefix PRISMLAUNCHER_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks}" 70 + # xorg.xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128 71 + "--prefix PATH : ${lib.makeBinPath [xorg.xrandr]}" 72 + ]; 73 + 74 + inherit (prismlauncherFinal) meta; 75 + }
+6 -2
pkgs/top-level/all-packages.nix
··· 36825 36825 36826 36826 principia = callPackage ../games/principia { }; 36827 36827 36828 - prismlauncher-qt5 = libsForQt5.callPackage ../games/prismlauncher { }; 36828 + prismlauncher-qt5-unwrapped = libsForQt5.callPackage ../games/prismlauncher { }; 36829 36829 36830 - prismlauncher = qt6Packages.callPackage ../games/prismlauncher { }; 36830 + prismlauncher-qt5 = libsForQt5.callPackage ../games/prismlauncher/wrapper.nix { prismlauncher-unwrapped = prismlauncher-qt5-unwrapped; }; 36831 + 36832 + prismlauncher-unwrapped = qt6Packages.callPackage ../games/prismlauncher { }; 36833 + 36834 + prismlauncher = qt6Packages.callPackage ../games/prismlauncher/wrapper.nix { }; 36831 36835 36832 36836 pong3d = callPackage ../games/pong3d { }; 36833 36837