From 8d184958d8412762a345aa1a5047db0cba03dfcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mustafa=20=C3=87al=C4=B1=C5=9Fkan?= Date: Sat, 8 Jan 2022 21:33:50 +0300 Subject: [PATCH 01/11] nix: init flake --- flake.lock | 43 +++++++++++++++++++++++++++++++++++++++++++ flake.nix | 33 +++++++++++++++++++++++++++++---- 2 files changed, 72 insertions(+), 4 deletions(-) create mode 100644 flake.lock diff --git a/flake.lock b/flake.lock new file mode 100644 index 00000000..cb93f3e0 --- /dev/null +++ b/flake.lock @@ -0,0 +1,43 @@ +{ + "nodes": { + "flake-utils": { + "locked": { + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1641528457, + "narHash": "sha256-FyU9E63n1W7Ql4pMnhW2/rO9OftWZ37pLppn/c1aisY=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "ff377a78794d412a35245e05428c8f95fef3951f", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix index 8f8325c0..bf45baa4 100644 --- a/flake.nix +++ b/flake.nix @@ -1,7 +1,32 @@ { - description = "PolyMC"; + description = "PolyMC flake"; + inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + inputs.flake-utils.url = "github:numtide/flake-utils"; - outputs = inputs: { - overlay = import ./packages/nix/overlay.nix; - }; + outputs = inputs@{ self, nixpkgs, flake-utils,... }: + flake-utils.lib.eachSystem [ "x86_64-linux" "aarch64-linux" ] (system: + let + pkgs = import nixpkgs { + inherit system; + }; + + packages = { + polymc = pkgs.libsForQt5.callPackage ./package/nix {}; + }; + + apps = { + polymc = flake-utils.lib.mkApp { + name = "PolyMC"; + drv = packages.polymc; + }; + }; + in + { + inherit packages apps; + + defaultPackage = packages.polymc; + defaultApp = apps.polymc; + overlay = import ./packages/nix/overlay.nix; + } + ); } From b1fa551fd29490653cff65e8c0d2bb1a144640ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mustafa=20=C3=87al=C4=B1=C5=9Fkan?= Date: Sat, 8 Jan 2022 21:53:50 +0300 Subject: [PATCH 02/11] flake: updates --- flake.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index bf45baa4..faa6600e 100644 --- a/flake.nix +++ b/flake.nix @@ -11,7 +11,7 @@ }; packages = { - polymc = pkgs.libsForQt5.callPackage ./package/nix {}; + polymc = pkgs.libsForQt5.callPackage ./packages/nix/polymc { inherit self; }; }; apps = { @@ -26,7 +26,7 @@ defaultPackage = packages.polymc; defaultApp = apps.polymc; - overlay = import ./packages/nix/overlay.nix; + overlay = import ./packages/nix/overlay.nix { inherit self; }; } ); } From 8d4f8795de81c221e8f58f35b4155b62301b295d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mustafa=20=C3=87al=C4=B1=C5=9Fkan?= Date: Sat, 8 Jan 2022 21:55:19 +0300 Subject: [PATCH 03/11] nix: update package and remove meta section since we are not on nixpkgs --- packages/nix/overlay.nix | 8 +- .../polymc/0001-pick-latest-java-first.patch | 48 ---------- packages/nix/polymc/default.nix | 92 ++++++++++++------- 3 files changed, 63 insertions(+), 85 deletions(-) delete mode 100644 packages/nix/polymc/0001-pick-latest-java-first.patch diff --git a/packages/nix/overlay.nix b/packages/nix/overlay.nix index 5a494459..c9e0e195 100644 --- a/packages/nix/overlay.nix +++ b/packages/nix/overlay.nix @@ -1,3 +1,5 @@ -self: super: rec { - polymc = super.libsForQt5.callPackage ./polymc {}; -} \ No newline at end of file +{ self }: + +final: prev: rec { + polymc = prev.libsForQt5.callPackage ./polymc { inherit self; }; +} diff --git a/packages/nix/polymc/0001-pick-latest-java-first.patch b/packages/nix/polymc/0001-pick-latest-java-first.patch deleted file mode 100644 index a65dcbfd..00000000 --- a/packages/nix/polymc/0001-pick-latest-java-first.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 44e1b2a19a869b907b40e56c85c8a47aa6c22097 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mustafa=20=C3=87al=C4=B1=C5=9Fkan?= -Date: Tue, 22 Jun 2021 21:50:11 +0300 -Subject: [PATCH] pick latest java first - ---- - launcher/java/JavaInstallList.cpp | 4 ++-- - launcher/java/JavaUtils.cpp | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/launcher/java/JavaInstallList.cpp b/launcher/java/JavaInstallList.cpp -index 0bded03c..40898e20 100644 ---- a/launcher/java/JavaInstallList.cpp -+++ b/launcher/java/JavaInstallList.cpp -@@ -120,8 +120,8 @@ void JavaInstallList::updateListData(QList versions) - - bool sortJavas(BaseVersionPtr left, BaseVersionPtr right) - { -- auto rleft = std::dynamic_pointer_cast(left); -- auto rright = std::dynamic_pointer_cast(right); -+ auto rleft = std::dynamic_pointer_cast(right); -+ auto rright = std::dynamic_pointer_cast(left); - return (*rleft) > (*rright); - } - -diff --git a/launcher/java/JavaUtils.cpp b/launcher/java/JavaUtils.cpp -index 5f004a10..6d633631 100644 ---- a/launcher/java/JavaUtils.cpp -+++ b/launcher/java/JavaUtils.cpp -@@ -350,7 +350,6 @@ QList JavaUtils::FindJavaPaths() - qDebug() << "Linux Java detection incomplete - defaulting to \"java\""; - - QList javas; -- javas.append(this->GetDefaultJava()->path); - auto scanJavaDir = [&](const QString & dirPath) - { - QDir dir(dirPath); -@@ -379,6 +378,7 @@ QList JavaUtils::FindJavaPaths() - // general locations used by distro packaging - scanJavaDir("/usr/lib/jvm"); - scanJavaDir("/usr/lib32/jvm"); -+ javas.append(this->GetDefaultJava()->path); - // javas stored in MultiMC's folder - scanJavaDir("java"); - return javas; --- -2.31.1 - diff --git a/packages/nix/polymc/default.nix b/packages/nix/polymc/default.nix index 5f1a0f27..8b5c4812 100644 --- a/packages/nix/polymc/default.nix +++ b/packages/nix/polymc/default.nix @@ -1,49 +1,73 @@ -{ lib, mkDerivation, fetchFromGitHub, cmake, jdk8, jdk, zlib, file, makeWrapper, xorg, libpulseaudio, qtbase, libGL, msaClientID ? "" }: +{ lib +, mkDerivation +, fetchFromGitHub +, makeDesktopItem +, substituteAll +, fetchpatch +, cmake +, jdk8 +, jdk +, zlib +, file +, makeWrapper +, xorg +, libpulseaudio +, qtbase +, libGL +, self +, msaClientID ? "" +}: let - libpath = with xorg; lib.makeLibraryPath [ libX11 libXext libXcursor libXrandr libXxf86vm libpulseaudio libGL ]; -in + gameLibraryPath = with xorg; lib.makeLibraryPath [ + libX11 + libXext + libXcursor + libXrandr + libXxf86vm + libpulseaudio + libGL + ]; +in + mkDerivation rec { pname = "polymc"; - version = "1.0.4"; - src = fetchFromGitHub { - owner = "PolyMC"; - repo = "PolyMC"; - rev = "${version}"; - sha256 = "sha256-8aya0KfV9F+i2qBpweWcR9hwyTSQkqn2wHdtkCEeNvk="; - fetchSubmodules = true; - }; + version = "nightly"; + + src = lib.cleanSource self; + nativeBuildInputs = [ cmake file makeWrapper ]; buildInputs = [ qtbase jdk8 zlib ]; - patches = [ ./0001-pick-latest-java-first.patch ]; - 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")' + # add client ID + substituteInPlace notsecrets/Secrets.cpp \ + --replace 'QString MSAClientID = "";' 'QString MSAClientID = "${msaClientID}";' ''; - cmakeFlags = [ "-DLauncher_LAYOUT=lin-system" ]; + cmakeFlags = [ + "-DLauncher_LAYOUT=lin-system" + ]; + + desktopItem = makeDesktopItem { + name = "polymc"; + exec = "polymc"; + icon = "polymc"; + desktopName = "PolyMC"; + genericName = "Minecraft Launcher"; + comment = "A custom launcher for Minecraft"; + categories = "Game;"; + extraEntries = '' + Keywords=game;Minecraft; + ''; + }; postInstall = '' + install -Dm644 ../launcher/resources/multimc/scalable/launcher.svg $out/share/pixmaps/multimc.svg + install -Dm755 ${desktopItem}/share/applications/polymc.desktop -t $out/share/applications # xorg.xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128 wrapProgram $out/bin/polymc \ - --set GAME_LIBRARY_PATH /run/opengl-driver/lib:${libpath} \ - --prefix PATH : ${lib.makeBinPath [ xorg.xrandr ]} - - substituteInPlace $out/share/applications/org.polymc.PolyMC.desktop --replace 'Exec=' 'Exec=${placeholder "out"}/bin/polymc' + --set GAME_LIBRARY_PATH /run/opengl-driver/lib:${gameLibraryPath} \ + --prefix PATH : ${lib.makeBinPath [ xorg.xrandr jdk ]} ''; - - meta = with lib; { - homepage = "https://github.com/PolyMC/PolyMC"; - description = "A free, open source launcher for Minecraft"; - longDescription = '' - Allows you to have multiple, separate instances of Minecraft (each with their own mods, texture packs, saves, etc) and helps you manage them and their associated options with a simple interface. - ''; - platforms = platforms.linux; - license = licenses.gpl3; - maintainers = with maintainers; [ cidkid ]; - }; -} \ No newline at end of file +} From d29d020d6f485852805b7f92d2dabd614d4da2e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mustafa=20=C3=87al=C4=B1=C5=9Fkan?= Date: Sat, 8 Jan 2022 22:15:19 +0300 Subject: [PATCH 04/11] {nix,flake}: add submodules --- flake.lock | 36 ++++++++++++++++++++++++++++++++- flake.nix | 26 ++++++++++++++++++------ packages/nix/overlay.nix | 8 ++++++-- packages/nix/polymc/default.nix | 9 +++++++++ 4 files changed, 70 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index cb93f3e0..131a9112 100644 --- a/flake.lock +++ b/flake.lock @@ -15,6 +15,22 @@ "type": "github" } }, + "libnbtplusplus": { + "flake": false, + "locked": { + "lastModified": 1591558203, + "narHash": "sha256-QgvNvaoFflCXEPCCFBCeZvYTpuiwScBG7EosUgFwFNQ=", + "owner": "multimc", + "repo": "libnbtplusplus", + "rev": "dc72a20b7efd304d12af2025223fad07b4b78464", + "type": "github" + }, + "original": { + "owner": "multimc", + "repo": "libnbtplusplus", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1641528457, @@ -31,10 +47,28 @@ "type": "github" } }, + "quazip": { + "flake": false, + "locked": { + "lastModified": 1633895098, + "narHash": "sha256-+Of0M2IAoTf1CyC0teCpsyurv6xfqiBo84V49dSeNTA=", + "owner": "multimc", + "repo": "quazip", + "rev": "b1a72ac0bb5a732bf887a535ab75c6f9bedb6b6b", + "type": "github" + }, + "original": { + "owner": "multimc", + "repo": "quazip", + "type": "github" + } + }, "root": { "inputs": { "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs" + "libnbtplusplus": "libnbtplusplus", + "nixpkgs": "nixpkgs", + "quazip": "quazip" } } }, diff --git a/flake.nix b/flake.nix index faa6600e..aa2c2cb5 100644 --- a/flake.nix +++ b/flake.nix @@ -2,8 +2,16 @@ description = "PolyMC flake"; inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; inputs.flake-utils.url = "github:numtide/flake-utils"; + inputs.libnbtplusplus = { + url = "github:multimc/libnbtplusplus"; + flake = false; + }; + inputs.quazip = { + url = "github:multimc/quazip"; + flake = false; + }; - outputs = inputs@{ self, nixpkgs, flake-utils,... }: + outputs = inputs@{ self, nixpkgs, flake-utils, libnbtplusplus, quazip, ... }: flake-utils.lib.eachSystem [ "x86_64-linux" "aarch64-linux" ] (system: let pkgs = import nixpkgs { @@ -11,9 +19,17 @@ }; packages = { - polymc = pkgs.libsForQt5.callPackage ./packages/nix/polymc { inherit self; }; + polymc = pkgs.libsForQt5.callPackage ./packages/nix/polymc { + inherit self; + submoduleQuazip = quazip; + submoduleNbt = libnbtplusplus; + }; }; - + + overlay = import ./packages/nix/overlay.nix { + inherit self quazip libnbtplusplus; + }; + apps = { polymc = flake-utils.lib.mkApp { name = "PolyMC"; @@ -22,11 +38,9 @@ }; in { - inherit packages apps; - + inherit packages overlay apps; defaultPackage = packages.polymc; defaultApp = apps.polymc; - overlay = import ./packages/nix/overlay.nix { inherit self; }; } ); } diff --git a/packages/nix/overlay.nix b/packages/nix/overlay.nix index c9e0e195..a65c23e0 100644 --- a/packages/nix/overlay.nix +++ b/packages/nix/overlay.nix @@ -1,5 +1,9 @@ -{ self }: +{ self, quazip, libnbtplusplus }: final: prev: rec { - polymc = prev.libsForQt5.callPackage ./polymc { inherit self; }; + polymc = prev.libsForQt5.callPackage ./polymc { + inherit self; + submoduleQuazip = quazip; + submoduleNbt = libnbtplusplus; + }; } diff --git a/packages/nix/polymc/default.nix b/packages/nix/polymc/default.nix index 8b5c4812..414835f5 100644 --- a/packages/nix/polymc/default.nix +++ b/packages/nix/polymc/default.nix @@ -14,7 +14,10 @@ , libpulseaudio , qtbase , libGL +# submodules , self +, submoduleNbt +, submoduleQuazip , msaClientID ? "" }: @@ -39,6 +42,12 @@ mkDerivation rec { nativeBuildInputs = [ cmake file makeWrapper ]; buildInputs = [ qtbase jdk8 zlib ]; + postUnpack = '' + mkdir libraries/{libnbtplusplus,quazip} + cp -a ${submoduleNbt}/* libraries/libnbtplusplus + cp -a ${submoduleQuazip}/* libraries/quazip + ''; + postPatch = '' # add client ID substituteInPlace notsecrets/Secrets.cpp \ From 9611b92b07a6dfea6e3e249539336d330145739c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mustafa=20=C3=87al=C4=B1=C5=9Fkan?= Date: Sat, 8 Jan 2022 22:31:13 +0300 Subject: [PATCH 05/11] nix: fix build --- packages/nix/polymc/default.nix | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/packages/nix/polymc/default.nix b/packages/nix/polymc/default.nix index 414835f5..340c1ae5 100644 --- a/packages/nix/polymc/default.nix +++ b/packages/nix/polymc/default.nix @@ -18,7 +18,6 @@ , self , submoduleNbt , submoduleQuazip -, msaClientID ? "" }: let @@ -43,15 +42,10 @@ mkDerivation rec { buildInputs = [ qtbase jdk8 zlib ]; postUnpack = '' - mkdir libraries/{libnbtplusplus,quazip} - cp -a ${submoduleNbt}/* libraries/libnbtplusplus - cp -a ${submoduleQuazip}/* libraries/quazip - ''; - - postPatch = '' - # add client ID - substituteInPlace notsecrets/Secrets.cpp \ - --replace 'QString MSAClientID = "";' 'QString MSAClientID = "${msaClientID}";' + mkdir source/libraries/{libnbtplusplus,quazip} + cp -a ${submoduleNbt}/* source/libraries/libnbtplusplus + cp -a ${submoduleQuazip}/* source/libraries/quazip + chmod a+r+w source/libraries/{libnbtplusplus,quazip}/* ''; cmakeFlags = [ From 6065b4dcf9c084dcea6b317ca3e186d14ad9f26e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mustafa=20=C3=87al=C4=B1=C5=9Fkan?= Date: Sat, 8 Jan 2022 23:06:56 +0300 Subject: [PATCH 06/11] nix: revert overlay changes and add conditionals to derivation for flake build --- flake.nix | 5 ++--- packages/nix/overlay.nix | 8 +------- packages/nix/polymc/default.nix | 22 +++++++++++++++------- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/flake.nix b/flake.nix index aa2c2cb5..2ef65c64 100644 --- a/flake.nix +++ b/flake.nix @@ -21,14 +21,13 @@ packages = { polymc = pkgs.libsForQt5.callPackage ./packages/nix/polymc { inherit self; + isFlakeBuild = true; submoduleQuazip = quazip; submoduleNbt = libnbtplusplus; }; }; - overlay = import ./packages/nix/overlay.nix { - inherit self quazip libnbtplusplus; - }; + overlay = import ./packages/nix/overlay.nix {}; apps = { polymc = flake-utils.lib.mkApp { diff --git a/packages/nix/overlay.nix b/packages/nix/overlay.nix index a65c23e0..6fa701b3 100644 --- a/packages/nix/overlay.nix +++ b/packages/nix/overlay.nix @@ -1,9 +1,3 @@ -{ self, quazip, libnbtplusplus }: - final: prev: rec { - polymc = prev.libsForQt5.callPackage ./polymc { - inherit self; - submoduleQuazip = quazip; - submoduleNbt = libnbtplusplus; - }; + polymc = prev.libsForQt5.callPackage ./polymc {}; } diff --git a/packages/nix/polymc/default.nix b/packages/nix/polymc/default.nix index 340c1ae5..c55c8a3c 100644 --- a/packages/nix/polymc/default.nix +++ b/packages/nix/polymc/default.nix @@ -15,9 +15,10 @@ , qtbase , libGL # submodules -, self -, submoduleNbt -, submoduleQuazip +, isFlakeBuild ? false +, self ? "" +, submoduleNbt ? "" +, submoduleQuazip ? "" }: let @@ -34,19 +35,26 @@ in mkDerivation rec { pname = "polymc"; - version = "nightly"; + version = if isFlakeBuild then "nightly" else "1.0.4"; - src = lib.cleanSource self; + src = if isFlakeBuild then lib.cleanSource self + else fetchFromGitHub { + owner = "PolyMC"; + repo = "PolyMC"; + rev = "${version}"; + sha256 = "sha256-8aya0KfV9F+i2qBpweWcR9hwyTSQkqn2wHdtkCEeNvk="; + fetchSubmodules = true; + }; nativeBuildInputs = [ cmake file makeWrapper ]; buildInputs = [ qtbase jdk8 zlib ]; - postUnpack = '' + postUnpack = if isFlakeBuild then '' mkdir source/libraries/{libnbtplusplus,quazip} cp -a ${submoduleNbt}/* source/libraries/libnbtplusplus cp -a ${submoduleQuazip}/* source/libraries/quazip chmod a+r+w source/libraries/{libnbtplusplus,quazip}/* - ''; + '' else ""; cmakeFlags = [ "-DLauncher_LAYOUT=lin-system" From 2a760a8e32627617dc80c96c9598ad3ed34ffbc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mustafa=20=C3=87al=C4=B1=C5=9Fkan?= Date: Sat, 8 Jan 2022 23:09:53 +0300 Subject: [PATCH 07/11] Revert "nix: revert overlay changes and add conditionals to derivation for flake build" --- flake.nix | 5 +++-- packages/nix/overlay.nix | 8 +++++++- packages/nix/polymc/default.nix | 22 +++++++--------------- 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/flake.nix b/flake.nix index 2ef65c64..aa2c2cb5 100644 --- a/flake.nix +++ b/flake.nix @@ -21,13 +21,14 @@ packages = { polymc = pkgs.libsForQt5.callPackage ./packages/nix/polymc { inherit self; - isFlakeBuild = true; submoduleQuazip = quazip; submoduleNbt = libnbtplusplus; }; }; - overlay = import ./packages/nix/overlay.nix {}; + overlay = import ./packages/nix/overlay.nix { + inherit self quazip libnbtplusplus; + }; apps = { polymc = flake-utils.lib.mkApp { diff --git a/packages/nix/overlay.nix b/packages/nix/overlay.nix index 6fa701b3..a65c23e0 100644 --- a/packages/nix/overlay.nix +++ b/packages/nix/overlay.nix @@ -1,3 +1,9 @@ +{ self, quazip, libnbtplusplus }: + final: prev: rec { - polymc = prev.libsForQt5.callPackage ./polymc {}; + polymc = prev.libsForQt5.callPackage ./polymc { + inherit self; + submoduleQuazip = quazip; + submoduleNbt = libnbtplusplus; + }; } diff --git a/packages/nix/polymc/default.nix b/packages/nix/polymc/default.nix index c55c8a3c..340c1ae5 100644 --- a/packages/nix/polymc/default.nix +++ b/packages/nix/polymc/default.nix @@ -15,10 +15,9 @@ , qtbase , libGL # submodules -, isFlakeBuild ? false -, self ? "" -, submoduleNbt ? "" -, submoduleQuazip ? "" +, self +, submoduleNbt +, submoduleQuazip }: let @@ -35,26 +34,19 @@ in mkDerivation rec { pname = "polymc"; - version = if isFlakeBuild then "nightly" else "1.0.4"; + version = "nightly"; - src = if isFlakeBuild then lib.cleanSource self - else fetchFromGitHub { - owner = "PolyMC"; - repo = "PolyMC"; - rev = "${version}"; - sha256 = "sha256-8aya0KfV9F+i2qBpweWcR9hwyTSQkqn2wHdtkCEeNvk="; - fetchSubmodules = true; - }; + src = lib.cleanSource self; nativeBuildInputs = [ cmake file makeWrapper ]; buildInputs = [ qtbase jdk8 zlib ]; - postUnpack = if isFlakeBuild then '' + postUnpack = '' mkdir source/libraries/{libnbtplusplus,quazip} cp -a ${submoduleNbt}/* source/libraries/libnbtplusplus cp -a ${submoduleQuazip}/* source/libraries/quazip chmod a+r+w source/libraries/{libnbtplusplus,quazip}/* - '' else ""; + ''; cmakeFlags = [ "-DLauncher_LAYOUT=lin-system" From 9499acedabb77e9783fd78bd0c9a24112ce1c319 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mustafa=20=C3=87al=C4=B1=C5=9Fkan?= Date: Sat, 8 Jan 2022 23:23:55 +0300 Subject: [PATCH 08/11] nix: fix overlay --- flake.nix | 6 +++--- packages/nix/overlay.nix | 9 --------- packages/nix/polymc/default.nix | 1 + 3 files changed, 4 insertions(+), 12 deletions(-) delete mode 100644 packages/nix/overlay.nix diff --git a/flake.nix b/flake.nix index aa2c2cb5..b30008a4 100644 --- a/flake.nix +++ b/flake.nix @@ -26,9 +26,9 @@ }; }; - overlay = import ./packages/nix/overlay.nix { - inherit self quazip libnbtplusplus; - }; + overlay = (final: prev: rec { + polymc = packages.polymc; + }); apps = { polymc = flake-utils.lib.mkApp { diff --git a/packages/nix/overlay.nix b/packages/nix/overlay.nix deleted file mode 100644 index a65c23e0..00000000 --- a/packages/nix/overlay.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ self, quazip, libnbtplusplus }: - -final: prev: rec { - polymc = prev.libsForQt5.callPackage ./polymc { - inherit self; - submoduleQuazip = quazip; - submoduleNbt = libnbtplusplus; - }; -} diff --git a/packages/nix/polymc/default.nix b/packages/nix/polymc/default.nix index 340c1ae5..92097442 100644 --- a/packages/nix/polymc/default.nix +++ b/packages/nix/polymc/default.nix @@ -42,6 +42,7 @@ mkDerivation rec { buildInputs = [ qtbase jdk8 zlib ]; postUnpack = '' + rm -rf source/libraries/{libnbtplusplus,quazip} mkdir source/libraries/{libnbtplusplus,quazip} cp -a ${submoduleNbt}/* source/libraries/libnbtplusplus cp -a ${submoduleQuazip}/* source/libraries/quazip From ccde63bbabd4259117c52540058a8875f469b7ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mustafa=20=C3=87al=C4=B1=C5=9Fkan?= Date: Sun, 9 Jan 2022 01:10:32 +0300 Subject: [PATCH 09/11] add nix result path to .gitignore --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index a2f4e78a..3f76a608 100644 --- a/.gitignore +++ b/.gitignore @@ -47,4 +47,6 @@ builddir # Deb packages/debian/polymc/usr/ packages/debian/polymc.deb -packages/debian/polymc/DEBIAN/control \ No newline at end of file +packages/debian/polymc/DEBIAN/control +# Nix/NixOS +result/ From ae3c613f6cc2070fc4e191fd923fb7f9ed30c768 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mustafa=20=C3=87al=C4=B1=C5=9Fkan?= Date: Sun, 9 Jan 2022 01:23:53 +0300 Subject: [PATCH 10/11] nix: use user package set on overlay and switch to ninja --- flake.nix | 6 +++++- packages/nix/polymc/default.nix | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index b30008a4..d6885c3b 100644 --- a/flake.nix +++ b/flake.nix @@ -27,7 +27,11 @@ }; overlay = (final: prev: rec { - polymc = packages.polymc; + polymc = prev.libsForQt5.callPackage ./packages/nix/polymc { + inherit self; + submoduleQuazip = quazip; + submoduleNbt = libnbtplusplus; + }; }); apps = { diff --git a/packages/nix/polymc/default.nix b/packages/nix/polymc/default.nix index 92097442..4f80ff34 100644 --- a/packages/nix/polymc/default.nix +++ b/packages/nix/polymc/default.nix @@ -5,6 +5,7 @@ , substituteAll , fetchpatch , cmake +, ninja , jdk8 , jdk , zlib @@ -38,7 +39,7 @@ mkDerivation rec { src = lib.cleanSource self; - nativeBuildInputs = [ cmake file makeWrapper ]; + nativeBuildInputs = [ cmake ninja file makeWrapper ]; buildInputs = [ qtbase jdk8 zlib ]; postUnpack = '' @@ -50,6 +51,7 @@ mkDerivation rec { ''; cmakeFlags = [ + "-GNinja" "-DLauncher_LAYOUT=lin-system" ]; From 4a9d9b268ab6effb2ffdf96c246b859c49a449c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mustafa=20=C3=87al=C4=B1=C5=9Fkan?= Date: Sun, 9 Jan 2022 02:40:13 +0300 Subject: [PATCH 11/11] nix: fix 'nix run' --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index d6885c3b..825f747e 100644 --- a/flake.nix +++ b/flake.nix @@ -36,7 +36,7 @@ apps = { polymc = flake-utils.lib.mkApp { - name = "PolyMC"; + name = "polymc"; drv = packages.polymc; }; };