feat: modify flakenix to include cargo utils
This commit is contained in:
parent
16a4aee633
commit
1f90088350
15 changed files with 966 additions and 838 deletions
148
default.nix
148
default.nix
|
@ -1,75 +1,75 @@
|
|||
{ lib,
|
||||
rustPlatform,
|
||||
nix-gitignore,
|
||||
bash,
|
||||
makeWrapper,
|
||||
dav1d,
|
||||
vulkan-loader,
|
||||
libGL,
|
||||
wayland,
|
||||
pkg-config,
|
||||
libxkbcommon,
|
||||
pkgs,
|
||||
stdenv,
|
||||
targetPackages ? pkgs,
|
||||
}: let
|
||||
version = (builtins.fromTOML (builtins.readFile ./engine/Cargo.toml)).package.version;
|
||||
src = nix-gitignore.gitignoreSource [] ./.;
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "zenyx";
|
||||
inherit src version;
|
||||
cargoLock.lockFile = ./Cargo.lock;
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
] ++ lib.optionals stdenv.targetPlatform.isDarwin [
|
||||
targetPackages.darwin.apple_sdk.frameworks.CoreServices
|
||||
];
|
||||
|
||||
buildInputs = with targetPackages; [
|
||||
dav1d
|
||||
] ++ lib.optionals (stdenv.targetPlatform.isLinux || stdenv.targetPlatform.isWindows) [
|
||||
vulkan-loader
|
||||
] ++ lib.optionals stdenv.targetPlatform.isLinux [
|
||||
makeWrapper
|
||||
wayland
|
||||
libxkbcommon
|
||||
libGL
|
||||
xorg.libXcursor
|
||||
xorg.libXrandr
|
||||
xorg.libXi
|
||||
xorg.libX11
|
||||
xorg.libxcb
|
||||
bash
|
||||
] ++ lib.optionals stdenv.targetPlatform.isDarwin [
|
||||
makeWrapper
|
||||
darwin.apple_sdk.frameworks.Cocoa
|
||||
darwin.apple_sdk.frameworks.Metal
|
||||
darwin.apple_sdk.frameworks.CoreVideo
|
||||
darwin.apple_sdk.frameworks.QuartzCore
|
||||
];
|
||||
|
||||
CARGO_TARGET_X86_64_PC_WINDOWS_GNU_LINKER =
|
||||
lib.optionalString stdenv.targetPlatform.isWindows "${stdenv.cc.targetPrefix}gcc";
|
||||
|
||||
NIX_LDFLAGS = lib.optionalString stdenv.targetPlatform.isDarwin "-framework CoreFoundation";
|
||||
|
||||
postInstall = lib.optionalString stdenv.targetPlatform.isLinux ''
|
||||
wrapProgram $out/bin/${pname} \
|
||||
--prefix PATH : ${lib.makeBinPath [ bash ]} \
|
||||
--set LD_LIBRARY_PATH ${lib.makeLibraryPath buildInputs}
|
||||
'' + lib.optionalString stdenv.targetPlatform.isWindows ''
|
||||
mkdir -p $out/bin
|
||||
cp ${targetPackages.vulkan-loader}/bin/vulkan-1.dll $out/bin/
|
||||
'';
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Cross-platform WSYWIG Game Engine";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.all;
|
||||
mainProgram = "zenyx";
|
||||
};
|
||||
{ lib,
|
||||
rustPlatform,
|
||||
nix-gitignore,
|
||||
bash,
|
||||
makeWrapper,
|
||||
dav1d,
|
||||
vulkan-loader,
|
||||
libGL,
|
||||
wayland,
|
||||
pkg-config,
|
||||
libxkbcommon,
|
||||
pkgs,
|
||||
stdenv,
|
||||
targetPackages ? pkgs,
|
||||
}: let
|
||||
version = (builtins.fromTOML (builtins.readFile ./engine/Cargo.toml)).package.version;
|
||||
src = nix-gitignore.gitignoreSource [] ./.;
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "zenyx";
|
||||
inherit src version;
|
||||
cargoLock.lockFile = ./Cargo.lock;
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
] ++ lib.optionals stdenv.targetPlatform.isDarwin [
|
||||
targetPackages.darwin.apple_sdk.frameworks.CoreServices
|
||||
];
|
||||
|
||||
buildInputs = with targetPackages; [
|
||||
dav1d
|
||||
] ++ lib.optionals (stdenv.targetPlatform.isLinux || stdenv.targetPlatform.isWindows) [
|
||||
vulkan-loader
|
||||
] ++ lib.optionals stdenv.targetPlatform.isLinux [
|
||||
makeWrapper
|
||||
wayland
|
||||
libxkbcommon
|
||||
libGL
|
||||
xorg.libXcursor
|
||||
xorg.libXrandr
|
||||
xorg.libXi
|
||||
xorg.libX11
|
||||
xorg.libxcb
|
||||
bash
|
||||
] ++ lib.optionals stdenv.targetPlatform.isDarwin [
|
||||
makeWrapper
|
||||
darwin.apple_sdk.frameworks.Cocoa
|
||||
darwin.apple_sdk.frameworks.Metal
|
||||
darwin.apple_sdk.frameworks.CoreVideo
|
||||
darwin.apple_sdk.frameworks.QuartzCore
|
||||
];
|
||||
|
||||
CARGO_TARGET_X86_64_PC_WINDOWS_GNU_LINKER =
|
||||
lib.optionalString stdenv.targetPlatform.isWindows "${stdenv.cc.targetPrefix}gcc";
|
||||
|
||||
NIX_LDFLAGS = lib.optionalString stdenv.targetPlatform.isDarwin "-framework CoreFoundation";
|
||||
|
||||
postInstall = lib.optionalString stdenv.targetPlatform.isLinux ''
|
||||
wrapProgram $out/bin/${pname} \
|
||||
--prefix PATH : ${lib.makeBinPath [ bash ]} \
|
||||
--set LD_LIBRARY_PATH ${lib.makeLibraryPath buildInputs}
|
||||
'' + lib.optionalString stdenv.targetPlatform.isWindows ''
|
||||
mkdir -p $out/bin
|
||||
cp ${targetPackages.vulkan-loader}/bin/vulkan-1.dll $out/bin/
|
||||
'';
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Cross-platform WSYWIG Game Engine";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.all;
|
||||
mainProgram = "zenyx";
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue