Start working on odin rendering experiment
This commit is contained in:
parent
49b60b6eb4
commit
de69cd8691
6 changed files with 407 additions and 0 deletions
odin/sdl-opengl-rendering
87
odin/sdl-opengl-rendering/flake.nix
Normal file
87
odin/sdl-opengl-rendering/flake.nix
Normal file
|
@ -0,0 +1,87 @@
|
|||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
|
||||
outputs =
|
||||
inputs:
|
||||
{
|
||||
overlays.default = final: prev: {
|
||||
# {{{ Odin
|
||||
odin = prev.odin.overrideAttrs (_: {
|
||||
version = "unstable-2025-03-28";
|
||||
src = final.fetchFromGitHub {
|
||||
owner = "starlitcanopy";
|
||||
repo = "Odin";
|
||||
rev = "a1fc243f8df8b510e6de4f5e115fbfc09371cb9d";
|
||||
sha256 = "0fb8lk47nb7ln0skjn3lyfi499q3wlnzp6w3qc4wf4s5zj43d6zh";
|
||||
};
|
||||
});
|
||||
# }}}
|
||||
# {{{ OLS
|
||||
ols = prev.ols.overrideAttrs (_: {
|
||||
version = "unstable-2025-03-12";
|
||||
src = final.fetchFromGitHub {
|
||||
owner = "DanielGavin";
|
||||
repo = "ols";
|
||||
rev = "1e44e3d78ad8a74ef09c7f54a6f6d3f7df517f8e";
|
||||
sha256 = "16f7b8ijcaj5m2bdgbbl1q1mzgpgzzazrap2g17hkgy63aqq8qmf";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm755 ols odinfmt -t $out/bin/
|
||||
cp -r builtin $out/bin/
|
||||
wrapProgram $out/bin/ols --set-default ODIN_ROOT ${final.odin}/share
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
});
|
||||
# }}}
|
||||
};
|
||||
}
|
||||
// inputs.flake-utils.lib.eachSystem (with inputs.flake-utils.lib.system; [ x86_64-linux ]) (
|
||||
system:
|
||||
let
|
||||
pkgs = inputs.nixpkgs.legacyPackages.${system}.extend inputs.self.overlays.default;
|
||||
raylib = pkgs.raylib.override { platform = "SDL"; };
|
||||
inherit (pkgs) lib;
|
||||
in
|
||||
{
|
||||
packages = { inherit (pkgs) odin; };
|
||||
|
||||
# {{{ Shell
|
||||
devShell = pkgs.mkShell rec {
|
||||
nativeBuildInputs = [
|
||||
pkgs.entr # File change detection
|
||||
pkgs.odin # Compiler
|
||||
pkgs.mold # Linker
|
||||
pkgs.just # Script runner
|
||||
pkgs.samply # Profiler
|
||||
pkgs.ols # Language server
|
||||
pkgs.gdb # Debugger
|
||||
pkgs.seer # Debugger GUI
|
||||
pkgs.valgrind # Detect memory leaks
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
pkgs.libGL
|
||||
pkgs.libxkbcommon
|
||||
|
||||
pkgs.xorg.libXi
|
||||
pkgs.xorg.libX11
|
||||
pkgs.xorg.libXrandr
|
||||
pkgs.xorg.libXinerama
|
||||
pkgs.xorg.libXcursor
|
||||
pkgs.sdl3
|
||||
raylib
|
||||
];
|
||||
|
||||
LD_LIBRARY_PATH = with pkgs; lib.makeLibraryPath buildInputs;
|
||||
};
|
||||
# }}}
|
||||
}
|
||||
);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue