diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 50a4badc794d..d54f61b3fcfb 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -9174,6 +9174,12 @@ githubId = 15896005; name = "Vladyslav Burzakovskyy"; }; + mrtarantoga = { + email = "goetz-dev@web.de"; + name = "Götz Grimmer"; + github = "MrTarantoga"; + githubId = 53876219; + }; mrVanDalo = { email = "contact@ingolf-wagner.de"; github = "mrVanDalo"; diff --git a/pkgs/development/libraries/quarto/default.nix b/pkgs/development/libraries/quarto/default.nix new file mode 100644 index 000000000000..38eea0a70f56 --- /dev/null +++ b/pkgs/development/libraries/quarto/default.nix @@ -0,0 +1,68 @@ +{ stdenv +, lib +, pandoc +, esbuild +, deno +, fetchurl +, nodePackages +, rWrapper +, rPackages +, makeWrapper +, python3 +}: + +stdenv.mkDerivation rec { + pname = "quarto"; + version = "1.1.189"; + src = fetchurl { + url = "https://github.com/quarto-dev/quarto-cli/releases/download/v${version}/quarto-${version}-linux-amd64.tar.gz"; + sha256 = "1a3xsgqdccm4ky1xjnin1idpp8gsansskq37c00mrxz1raxn1mi7"; + }; + + nativeBuildInputs = [ + makeWrapper + ]; + + patches = [ + ./fix-deno-path.patch + ]; + + dontStrip = true; + + preFixup = '' + wrapProgram $out/bin/quarto \ + --prefix PATH : ${lib.makeBinPath [ deno ]} \ + --prefix QUARTO_PANDOC : ${pandoc}/bin/pandoc \ + --prefix QUARTO_ESBUILD : ${esbuild}/bin/esbuild \ + --prefix QUARTO_DART_SASS : ${nodePackages.sass}/bin/sass \ + --prefix QUARTO_R : ${rWrapper.override { packages = [ rPackages.rmarkdown]; }}/bin/R \ + --prefix QUARTO_PYTHON : ${python3.withPackages (ps: with ps; [ jupyter ipython ])}/bin/python3 + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin $out/share + + rm -r bin/tools + + mv bin/* $out/bin + mv share/* $out/share + + runHook preInstall + ''; + + meta = with lib; { + description = "Open-source scientific and technical publishing system built on Pandoc"; + 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; [ mrtarantoga ]; + platforms = [ "x86_64-linux" ]; + sourceProvenance = with sourceTypes; [ binaryNativeCode binaryBytecode ]; + }; +} diff --git a/pkgs/development/libraries/quarto/fix-deno-path.patch b/pkgs/development/libraries/quarto/fix-deno-path.patch new file mode 100644 index 000000000000..895419712ad8 --- /dev/null +++ b/pkgs/development/libraries/quarto/fix-deno-path.patch @@ -0,0 +1,8 @@ +--- a/bin/quarto ++++ b/bin/quarto +@@ -125,4 +125,4 @@ fi + # Be sure to include any already defined QUARTO_DENO_OPTIONS + QUARTO_DENO_OPTIONS="--unstable --no-config --cached-only --allow-read --allow-write --allow-run --allow-env --allow-net --allow-ffi ${QUARTO_DENO_OPTIONS}" + +-"${QUARTO_DENO}" ${QUARTO_ACTION} ${QUARTO_DENO_OPTIONS} ${QUARTO_DENO_EXTRA_OPTIONS} "${QUARTO_IMPORT_ARGMAP}" "${QUARTO_TARGET}" "$@" ++deno ${QUARTO_ACTION} ${QUARTO_DENO_OPTIONS} ${QUARTO_DENO_EXTRA_OPTIONS} "${QUARTO_IMPORT_ARGMAP}" "${QUARTO_TARGET}" "$@" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 11eaa6aea0c1..a0d59aafef7b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21368,6 +21368,8 @@ with pkgs; qolibri = libsForQt5.callPackage ../applications/misc/qolibri { }; + quarto = callPackage ../development/libraries/quarto { }; + qt4 = qt48; qt48 = callPackage ../development/libraries/qt-4.x/4.8 {