aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--flake.lock36
-rw-r--r--flake.nix26
-rw-r--r--packages/nix/overlay.nix8
-rw-r--r--packages/nix/polymc/default.nix9
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 \