aboutsummaryrefslogtreecommitdiff
path: root/nix/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nix/default.nix')
-rw-r--r--nix/default.nix112
1 files changed, 58 insertions, 54 deletions
diff --git a/nix/default.nix b/nix/default.nix
index 82ba9c7d..e0616b6e 100644
--- a/nix/default.nix
+++ b/nix/default.nix
@@ -1,51 +1,58 @@
-{ lib
-, stdenv
-, cmake
-, jdk8
-, jdk17
-, zlib
-, file
-, wrapQtAppsHook
-, xorg
-, libpulseaudio
-, qtbase
-, qtsvg
-, qtwayland
-, libGL
-, quazip
-, glfw
-, openal
-, extra-cmake-modules
-, tomlplusplus
-, ghc_filesystem
-, msaClientID ? ""
-, jdks ? [ jdk17 jdk8 ]
-
+{
+ lib,
+ stdenv,
+ cmake,
+ ninja,
+ jdk8,
+ jdk17,
+ zlib,
+ file,
+ wrapQtAppsHook,
+ xorg,
+ libpulseaudio,
+ qtbase,
+ qtsvg,
+ qtwayland,
+ libGL,
+ quazip,
+ glfw,
+ openal,
+ extra-cmake-modules,
+ tomlplusplus,
+ ghc_filesystem,
+ cmark,
+ msaClientID ? "",
+ jdks ? [jdk17 jdk8],
+ gamemodeSupport ? true,
+ gamemode,
# flake
-, self
-, version
-, libnbtplusplus
+ self,
+ version,
+ libnbtplusplus,
}:
-
stdenv.mkDerivation rec {
pname = "prismlauncher";
inherit version;
src = lib.cleanSource self;
- nativeBuildInputs = [ extra-cmake-modules cmake file jdk17 wrapQtAppsHook ];
- buildInputs = [
- qtbase
- qtsvg
- zlib
- quazip
- ghc_filesystem
- tomlplusplus
- ] ++ lib.optional (lib.versionAtLeast qtbase.version "6") qtwayland;
+ nativeBuildInputs = [extra-cmake-modules cmake file jdk17 ninja wrapQtAppsHook];
+ buildInputs =
+ [
+ qtbase
+ qtsvg
+ zlib
+ quazip
+ ghc_filesystem
+ tomlplusplus
+ cmark
+ ]
+ ++ lib.optional (lib.versionAtLeast qtbase.version "6") qtwayland
+ ++ lib.optional gamemodeSupport gamemode.dev;
- cmakeFlags = lib.optionals (msaClientID != "") [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ]
- ++ lib.optionals (lib.versionAtLeast qtbase.version "6") [ "-DLauncher_QT_VERSION_MAJOR=6" ];
- dontWrapQtApps = true;
+ cmakeFlags =
+ lib.optionals (msaClientID != "") ["-DLauncher_MSA_CLIENT_ID=${msaClientID}"]
+ ++ lib.optionals (lib.versionOlder qtbase.version "6") ["-DLauncher_QT_VERSION_MAJOR=5"];
postUnpack = ''
rm -rf source/libraries/libnbtplusplus
@@ -55,10 +62,9 @@ stdenv.mkDerivation rec {
chown -R $USER: source/libraries/libnbtplusplus
'';
- postInstall =
- let
- libpath = with xorg;
- lib.makeLibraryPath [
+ qtWrapperArgs = let
+ libpath = with xorg;
+ lib.makeLibraryPath ([
libX11
libXext
libXcursor
@@ -69,16 +75,14 @@ stdenv.mkDerivation rec {
glfw
openal
stdenv.cc.cc.lib
- ];
- in
- ''
- # xorg.xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
- wrapQtApp $out/bin/prismlauncher \
- --set LD_LIBRARY_PATH /run/opengl-driver/lib:${libpath} \
- --prefix PRISMLAUNCHER_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks} \
- --prefix PATH : ${lib.makeBinPath [xorg.xrandr]}
- '';
-
+ ]
+ ++ lib.optional gamemodeSupport gamemode.lib);
+ in [
+ "--set LD_LIBRARY_PATH /run/opengl-driver/lib:${libpath}"
+ "--prefix PRISMLAUNCHER_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks}"
+ # xorg.xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
+ "--prefix PATH : ${lib.makeBinPath [xorg.xrandr]}"
+ ];
meta = with lib; {
homepage = "https://prismlauncher.org/";
@@ -91,6 +95,6 @@ stdenv.mkDerivation rec {
platforms = platforms.linux;
changelog = "https://github.com/PrismLauncher/PrismLauncher/releases/tag/${version}";
license = licenses.gpl3Only;
- maintainers = with maintainers; [ minion3665 Scrumplex ];
+ maintainers = with maintainers; [minion3665 Scrumplex];
};
}