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] {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 cb93f3e09..131a9112d 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 faa6600e3..aa2c2cb5c 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 c9e0e1954..a65c23e05 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 8b5c48126..414835f55 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 \