You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

26 lines
708B

  1. { pkgs,
  2. pname,
  3. mainFile ? "src/Main.jl",
  4. ... }:
  5. pkgs.stdenv.mkDerivation rec {
  6. name = pname;
  7. src = ./.;
  8. buildInputs = with pkgs; [ julia curl ];
  9. phases = [ "installPhase" ];
  10. installPhase = ''
  11. mkdir -p $out/bin
  12. cp -r $src/src $out/src
  13. cp $src/Project.toml $out/Project.toml
  14. cp $src/Manifest.toml $out/Manifest.toml
  15. cp $src/generatedSysImage.so $out/generatedSysImage.so
  16. echo "JULIA_LOAD_PATH=$out julia --project --sysimage $out/generatedSysImage.so $out/${mainFile}" >> $out/bin/${pname}
  17. echo "julia --project $out/${mainFile}" >> $out/bin/${pname}-slow
  18. chmod +x $out/bin/${pname}
  19. chmod +x $out/bin/${pname}-slow
  20. '';
  21. }