forked from aya/aya
69 lines
2.1 KiB
Nix
69 lines
2.1 KiB
Nix
let
|
|
nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/tarball/nixos-25.05";
|
|
pkgs = import nixpkgs { config = {}; overlays = []; };
|
|
bgfx = pkgs.clangStdenv.mkDerivation {
|
|
name = "bgfx";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "bkaradzic";
|
|
repo = "bgfx.cmake";
|
|
rev = "5f3f4f29726dbfa5e0de2a05e9daea1a89700c8d";
|
|
hash = "sha256-O2+nSK74aXWTQ5QSBTqSeYBo4ikg/TTHzAeg6OYDJVM=";
|
|
fetchSubmodules = true;
|
|
};
|
|
nativeBuildInputs = [ pkgs.cmake pkgs.ninja ];
|
|
buildInputs = [ pkgs.xorg.libX11 pkgs.libGL pkgs.wayland pkgs.spirv-tools pkgs.spirv-cross pkgs.spirv-headers ];
|
|
configurePhase = ''
|
|
mkdir -p build
|
|
cd build
|
|
cmake ../ -DCMAKE_INSTALL_PREFIX=$out/ -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-O2" -GNinja
|
|
'';
|
|
buildPhase = ''
|
|
cmake --build . --parallel $(nproc) --config Release
|
|
'';
|
|
};
|
|
|
|
mkEnvironment = pkgs: name: pkgs.llvmPackages_latest.stdenv.mkDerivation {
|
|
name = name;
|
|
src = null;
|
|
nativeBuildInputs = [ pkgs.llvmPackages_latest.clang-tools pkgs.cmake pkgs.pkg-config pkgs.ninja pkgs.gdb pkgs.bun pkgs.nodejs ];
|
|
buildInputs = [
|
|
bgfx
|
|
|
|
pkgs.assimp
|
|
pkgs.boost
|
|
pkgs.curlFull.dev
|
|
pkgs.libjpeg
|
|
pkgs.freetype
|
|
pkgs.openssl
|
|
pkgs.libpng
|
|
pkgs.lz4
|
|
pkgs.SDL3
|
|
pkgs.zlib
|
|
pkgs.zstd
|
|
pkgs.pugixml
|
|
pkgs.imgui
|
|
pkgs.discord-rpc
|
|
pkgs.rapidjson
|
|
pkgs.libjxl
|
|
pkgs.cgal
|
|
pkgs.gmp
|
|
pkgs.mpfr
|
|
pkgs.libarchive
|
|
pkgs.kdePackages.qtbase
|
|
pkgs.kdePackages.qttools
|
|
pkgs.kdePackages.qtwebview
|
|
pkgs.kdePackages.qtwebengine
|
|
pkgs.kdePackages.qtdeclarative
|
|
pkgs.kdePackages.full
|
|
pkgs.xorg.libX11
|
|
pkgs.libGLU
|
|
pkgs.kdePackages.qtwayland
|
|
pkgs.cef-binary
|
|
];
|
|
CEF_ROOT = "${pkgs.cef-binary.out}/";
|
|
};
|
|
in
|
|
{
|
|
native = mkEnvironment pkgs "aya";
|
|
}
|