Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
2.7 kB · 119 lines
Nix
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120{ stdenv, lib, pandoc, typst, esbuild, deno, fetchurl, dart-sass, rWrapper, rPackages, extraRPackages ? [ ], makeWrapper, runCommand, python3, quarto, extraPythonPackages ? ps: [ ], sysctl, which,}:
let rWithPackages = rWrapper.override { packages = [ rPackages.rmarkdown ] ++ extraRPackages; };
pythonWithPackages = python3.withPackages ( ps: with ps; [ jupyter ipython ] ++ (extraPythonPackages ps) );instdenv.mkDerivation (final: { pname = "quarto"; version = "1.7.32";
src = fetchurl { url = "https://github.com/quarto-dev/quarto-cli/releases/download/v${final.version}/quarto-${final.version}-linux-amd64.tar.gz"; hash = "sha256-JiUF49JkWcZOZu/v1LkkDrdV6iDdb+h21qpkx6exPSc="; };
patches = [ ./deno2.patch ];
nativeBuildInputs = [ makeWrapper which ];
dontStrip = true;
preFixup = '' wrapProgram $out/bin/quarto \ --set-default QUARTO_DENO ${lib.getExe deno} \ --set-default QUARTO_PANDOC ${lib.getExe pandoc} \ --set-default QUARTO_ESBUILD ${lib.getExe esbuild} \ --set-default QUARTO_DART_SASS ${lib.getExe dart-sass} \ --set-default QUARTO_TYPST ${lib.getExe typst} \ ${lib.optionalString (rWrapper != null) "--set-default QUARTO_R ${rWithPackages}/bin/R"} \ ${lib.optionalString ( python3 != null ) "--set-default QUARTO_PYTHON ${pythonWithPackages}/bin/python3"} '';
installPhase = '' runHook preInstall
mkdir -p $out/bin $out/share
rm -r bin/tools
mv bin/* $out/bin mv share/* $out/share
runHook postInstall '';
passthru.tests = { quarto-check = runCommand "quarto-check" { nativeBuildInputs = [ which ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ sysctl ]; } '' export HOME="$(mktemp -d)" ${quarto}/bin/quarto check touch $out ''; };
meta = with lib; { description = "Open-source scientific and technical publishing system built on Pandoc"; mainProgram = "quarto"; longDescription = '' Quarto is an open-source scientific and technical publishing system built on Pandoc. Quarto documents are authored using markdown, an easy to write plain text format. ''; homepage = "https://quarto.org/"; changelog = "https://github.com/quarto-dev/quarto-cli/releases/tag/v${version}"; license = licenses.gpl2Plus; maintainers = with maintainers; [ minijackson mrtarantoga ]; platforms = platforms.all; sourceProvenance = with sourceTypes; [ binaryNativeCode binaryBytecode ]; };})