nix/packages/boomer/default.nix
2025-03-17 22:21:20 -05:00

32 lines
1.1 KiB
Nix

{ lib, stdenv, fetchFromGitHub, nim, libX11, libXrandr, libGL, nim-1_0 }:
let
x11-nim = fetchFromGitHub {
owner = "nim-lang";
repo = "x11";
rev = "29aca5e519ebf5d833f63a6a2769e62ec7bfb83a";
sha256 = "sha256-jBNsv8meDvF2ySKewbA+rF2XS+gqydZUl1xhEevD15o=";
};
opengl-nim = fetchFromGitHub {
owner = "nim-lang";
repo = "opengl";
rev = "8e2e098f82dc5eefd874488c37b5830233cd18f4";
sha256 = "sha256-v3bMDobYQZqX0anBFIUfZx5q5/vxTHO6PDtKQlf5mgU=";
};
in stdenv.mkDerivation rec {
pname = "boomer";
version = "unstable-2024-02-08";
src = fetchFromGitHub {
owner = "tsoding";
repo = "boomer";
rev = "dfd4e1f5514e2a9d7c7a6429c1c0642c2021e792";
sha256 = "sha256-o65/VVxttriA5Qqt35lLKkWIZYS7T4VBBuYdAIGUmx8=";
};
buildInputs = [ nim-1_0 libX11 libXrandr libGL ];
buildPhase = ''
HOME=$TMPDIR
nim -p:${x11-nim}/ -p:${opengl-nim}/src c -d:release src/boomer.nim
'';
installPhase = "install -Dt $out/bin src/boomer";
fixupPhase = "patchelf --set-rpath ${lib.makeLibraryPath [stdenv.cc.cc libX11 libXrandr libGL]} $out/bin/boomer";
}