aboutsummaryrefslogtreecommitdiff
path: root/nix
diff options
context:
space:
mode:
authorSefa Eyeoglu <contact@scrumplex.net>2023-08-20 21:20:09 +0200
committerGitHub <noreply@github.com>2023-08-20 21:20:09 +0200
commit5c95448f1f323eeb4b52425c304df95c9a01d5c8 (patch)
tree75854b1dce4a072186eff4c1c61dbebd0648a4c4 /nix
parent0aaea9bf5dbc49a20ad56d7856807d1bb7325411 (diff)
parenteeb5fdbc9f7848717a167b251ddae521f19a056e (diff)
downloadPrismLauncher-5c95448f1f323eeb4b52425c304df95c9a01d5c8.tar.gz
PrismLauncher-5c95448f1f323eeb4b52425c304df95c9a01d5c8.tar.bz2
PrismLauncher-5c95448f1f323eeb4b52425c304df95c9a01d5c8.zip
Merge pull request #1485 from getchoo/nix-darwin
Diffstat (limited to 'nix')
-rw-r--r--nix/default.nix5
-rw-r--r--nix/distribution.nix1
-rw-r--r--nix/package.nix87
3 files changed, 50 insertions, 43 deletions
diff --git a/nix/default.nix b/nix/default.nix
index 47172927..71c95c2c 100644
--- a/nix/default.nix
+++ b/nix/default.nix
@@ -25,8 +25,7 @@
systems = [
"x86_64-linux"
"aarch64-linux"
- # Disabled due to our packages not supporting darwin yet.
- # "x86_64-darwin"
- # "aarch64-darwin"
+ "x86_64-darwin"
+ "aarch64-darwin"
];
}
diff --git a/nix/distribution.nix b/nix/distribution.nix
index 0f2e26f3..d0904d41 100644
--- a/nix/distribution.nix
+++ b/nix/distribution.nix
@@ -17,6 +17,7 @@
mkPrism = qt:
qt.callPackage ./package.nix {
inherit (inputs) libnbtplusplus;
+ inherit (prev.darwin.apple_sdk.frameworks) Cocoa;
inherit self version;
};
in {
diff --git a/nix/package.nix b/nix/package.nix
index edc266dc..1dbadd40 100644
--- a/nix/package.nix
+++ b/nix/package.nix
@@ -2,6 +2,8 @@
lib,
stdenv,
cmake,
+ cmark,
+ Cocoa,
ninja,
jdk17,
zlib,
@@ -9,57 +11,62 @@
quazip,
extra-cmake-modules,
tomlplusplus,
- cmark,
ghc_filesystem,
gamemode,
msaClientID ? null,
- gamemodeSupport ? true,
+ gamemodeSupport ? stdenv.isLinux,
self,
version,
libnbtplusplus,
}:
-stdenv.mkDerivation rec {
- pname = "prismlauncher-unwrapped";
- inherit version;
+assert lib.assertMsg (stdenv.isLinux || !gamemodeSupport) "gamemodeSupport is only available on Linux";
+ stdenv.mkDerivation rec {
+ pname = "prismlauncher-unwrapped";
+ inherit version;
- src = lib.cleanSource self;
+ src = lib.cleanSource self;
- nativeBuildInputs = [extra-cmake-modules cmake jdk17 ninja];
- buildInputs =
- [
- qtbase
- zlib
- quazip
- ghc_filesystem
- tomlplusplus
- cmark
- ]
- ++ lib.optional gamemodeSupport gamemode;
+ nativeBuildInputs = [extra-cmake-modules cmake jdk17 ninja];
+ buildInputs =
+ [
+ qtbase
+ zlib
+ quazip
+ ghc_filesystem
+ tomlplusplus
+ cmark
+ ]
+ ++ lib.optional gamemodeSupport gamemode
+ ++ lib.optionals stdenv.isDarwin [Cocoa];
- hardeningEnable = ["pie"];
+ hardeningEnable = lib.optionals stdenv.isLinux ["pie"];
- cmakeFlags =
- lib.optionals (msaClientID != null) ["-DLauncher_MSA_CLIENT_ID=${msaClientID}"]
- ++ lib.optionals (lib.versionOlder qtbase.version "6") ["-DLauncher_QT_VERSION_MAJOR=5"];
+ cmakeFlags =
+ [
+ "-DLauncher_BUILD_PLATFORM=nixpkgs"
+ ]
+ ++ lib.optionals (msaClientID != null) ["-DLauncher_MSA_CLIENT_ID=${msaClientID}"]
+ ++ lib.optionals (lib.versionOlder qtbase.version "6") ["-DLauncher_QT_VERSION_MAJOR=5"]
+ ++ lib.optionals stdenv.isDarwin ["-DINSTALL_BUNDLE=nodeps" "-DMACOSX_SPARKLE_UPDATE_FEED_URL=''"];
- postUnpack = ''
- rm -rf source/libraries/libnbtplusplus
- ln -s ${libnbtplusplus} source/libraries/libnbtplusplus
- '';
+ postUnpack = ''
+ rm -rf source/libraries/libnbtplusplus
+ ln -s ${libnbtplusplus} source/libraries/libnbtplusplus
+ '';
- dontWrapQtApps = true;
+ dontWrapQtApps = true;
- meta = with lib; {
- homepage = "https://prismlauncher.org/";
- 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;
- changelog = "https://github.com/PrismLauncher/PrismLauncher/releases/tag/${version}";
- license = licenses.gpl3Only;
- maintainers = with maintainers; [minion3665 Scrumplex];
- };
-}
+ meta = with lib; {
+ homepage = "https://prismlauncher.org/";
+ 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 = with platforms; linux ++ darwin;
+ changelog = "https://github.com/PrismLauncher/PrismLauncher/releases/tag/${version}";
+ license = licenses.gpl3Only;
+ maintainers = with maintainers; [minion3665 Scrumplex getchoo];
+ };
+ }