Files
2026-07-18 17:58:46 +02:00

49 lines
1.3 KiB
Nix

{
description = "benchmarking languages with mandelbrot image generation";
inputs.nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
outputs = { self, nixpkgs }:
let
system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; };
in {
devShells.${system}.default = pkgs.mkShell {
nativeBuildInputs = with pkgs; [
clang
janet
uiua-unstable
];
};
packages.${system} = {
c = pkgs.stdenv.mkDerivation {
name = "mandelbrot-c";
src = ./src;
nativeBuildInputs = [ pkgs.clang ];
buildPhase = ''
cc mandelbrot.c -o mandelbrot-c -lm
'';
installPhase = ''
mkdir -p $out/bin/
cp mandelbrot-c $out/bin/
'';
};
uiua = pkgs.stdenv.mkDerivation {
name = "mandelbrot-uiua";
src = ./src;
nativeBuildInputs = [ pkgs.makeWrapper ];
buildInputs = [ pkgs.uiua-unstable ];
installPhase = ''
mkdir -p $out/bin $out/share
cp mandelbrot.ua $out/share
makeWrapper ${pkgs.uiua-unstable}/bin/uiua \
$out/bin/mandelbrot-uiua \
--add-flags "run $out/share/mandelbrot.ua"
'';
};
};
};
}