From 8a8ad47bed7301195c77b0eaa240095871ea04fd Mon Sep 17 00:00:00 2001 From: Jost Alemann Date: Thu, 1 May 2025 18:25:21 +0200 Subject: [PATCH] quarto: 1.6.43 -> 1.7.29 Changelog: https://github.com/quarto-dev/quarto-cli/releases/tag/v1.7.29 Diff: https://github.com/quarto-dev/quarto-cli/compare/v1.6.43...v1.7.29 --- pkgs/development/libraries/quarto/default.nix | 8 +- pkgs/development/libraries/quarto/deno2.patch | 96 +------------------ 2 files changed, 8 insertions(+), 96 deletions(-) diff --git a/pkgs/development/libraries/quarto/default.nix b/pkgs/development/libraries/quarto/default.nix index c5e9bc24419f..d830b8df7272 100644 --- a/pkgs/development/libraries/quarto/default.nix +++ b/pkgs/development/libraries/quarto/default.nix @@ -16,14 +16,15 @@ quarto, extraPythonPackages ? ps: [ ], sysctl, + which, }: stdenv.mkDerivation (final: { pname = "quarto"; - version = "1.6.43"; + version = "1.7.29"; src = fetchurl { url = "https://github.com/quarto-dev/quarto-cli/releases/download/v${final.version}/quarto-${final.version}-linux-amd64.tar.gz"; - hash = "sha256-9cwGPduP0BN0fNtMb8lklK5FftJMuuPaqCFRN8vL+cI="; + hash = "sha256-UFXNyovsvRmLTAHQ3P/XYZwL4su9xwmrTQCFy3VXkak="; }; patches = [ @@ -32,6 +33,7 @@ stdenv.mkDerivation (final: { nativeBuildInputs = [ makeWrapper + which ]; dontStrip = true; @@ -81,7 +83,7 @@ stdenv.mkDerivation (final: { quarto-check = runCommand "quarto-check" { - nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ sysctl ]; + nativeBuildInputs = [ which ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ sysctl ]; } '' export HOME="$(mktemp -d)" diff --git a/pkgs/development/libraries/quarto/deno2.patch b/pkgs/development/libraries/quarto/deno2.patch index 1ece9ae95450..aedb93af3d80 100644 --- a/pkgs/development/libraries/quarto/deno2.patch +++ b/pkgs/development/libraries/quarto/deno2.patch @@ -1,26 +1,5 @@ diff --git a/bin/quarto.js b/bin/quarto.js -index f854281..0b78f6e 100644 ---- a/bin/quarto.js -+++ b/bin/quarto.js -@@ -28511,7 +28511,7 @@ function jupyterHubServicePrefix() { - return Deno.env.get("JUPYTERHUB_SERVICE_PREFIX"); - } - function isInteractiveTerminal() { -- return Deno.isatty(Deno.stderr.rid); -+ return Deno.stderr.isTerminal(); - } - function isInteractiveSession() { - return isRStudio() || isInteractiveTerminal() || isVSCodeOutputChannel(); -@@ -83562,7 +83562,7 @@ function writeFileToStdout(file) { - }); - const contents = readAllSync(df); - writeAllSync1(Deno.stdout, contents); -- Deno.close(df.rid); -+ df.close(); - } - function clearLine() { - info(ansi.eraseLine.cursorLeft(), { -@@ -96154,6 +96154,7 @@ class ParserBase { +@@ -97360,6 +97360,7 @@ class SAXParser extends ParserBase { _listeners = {}; _controller; @@ -28,7 +7,7 @@ index f854281..0b78f6e 100644 fireListeners(event) { const [name, ...args] = event; const list = this._listeners[name] || []; -@@ -96189,33 +96190,23 @@ class SAXParser extends ParserBase { +@@ -97395,33 +97396,23 @@ write(chunk, controller) { try { this._controller = controller; @@ -68,7 +47,7 @@ index f854281..0b78f6e 100644 } } on(event, listener) { -@@ -96326,8 +96317,7 @@ async function readSitemap(sitemapPath) { +@@ -97532,8 +97523,7 @@ } }); const reader = await Deno.open(sitemapPath); @@ -78,72 +57,3 @@ index f854281..0b78f6e 100644 return urlset; } function writeSitemap(sitemapPath, urlset, draftMode) { -@@ -98407,21 +98397,21 @@ async function generateFeed(feed, feedItems, path) { - feed, - escape: __VIRTUAL_FILE172 - }); -- await Deno.write(feedFile.rid, textEncoder.encode(preamble)); -+ await feedFile.write(textEncoder.encode(preamble)); - for (const feedItem of feedItems){ - const item = renderEjs(resourcePath("projects/website/listing/feed/item.ejs.md"), { - item: feedItem, - escape: __VIRTUAL_FILE172 - }); -- await Deno.write(feedFile.rid, textEncoder.encode(item)); -+ await feedFile.write(textEncoder.encode(item)); - } - const postamble = renderEjs(resourcePath("projects/website/listing/feed/postamble.ejs.md"), { - feed, - escape: __VIRTUAL_FILE172 - }); -- await Deno.write(feedFile.rid, textEncoder.encode(postamble)); -+ await feedFile.write(textEncoder.encode(postamble)); - } finally{ -- Deno.close(feedFile.rid); -+ feedFile.close(); - } - } - function prepareItems(items, options) { -@@ -112277,7 +112267,7 @@ async function renderForPublish(render, providerName, type, title, siteUrl) { - } - function stageDocumentPublish(title, publishFiles) { - const publishDir = globalTempContext().createDir(); -- const stagedFiles = window.structuredClone(publishFiles); -+ const stagedFiles = globalThis.structuredClone(publishFiles); - stagedFiles.baseDir = publishDir; - for (const file of publishFiles.files){ - const src = join2(publishFiles.baseDir, file); -@@ -126377,33 +126367,6 @@ function reportPeformanceMetrics() { - console.log("Performance metrics"); - console.log("Quarto:"); - console.log(JSON.stringify(quartoPerformanceMetrics(), null, 2)); -- console.log(); -- console.log("Deno:"); -- const denoMetrics = JSON.parse(JSON.stringify(Deno.metrics())); -- denoMetrics.ops = Object.fromEntries(Object.entries(denoMetrics.ops).map(([key, opMetrics])=>{ -- for (const key of Object.keys(opMetrics)){ -- if (opMetrics[key] === 0) { -- delete opMetrics[key]; -- } -- } -- return [ -- key, -- opMetrics -- ]; -- }).filter(([_key, opMetrics])=>Object.keys(opMetrics).length > 0).map(([key, opMetrics])=>{ -- if (opMetrics.opsDispatched === opMetrics.opsDispatchedSync && opMetrics.opsDispatched === opMetrics.opsCompleted && opMetrics.opsDispatched === opMetrics.opsCompletedSync || opMetrics.opsDispatched === opMetrics.opsDispatchedAsync && opMetrics.opsDispatched === opMetrics.opsCompleted && opMetrics.opsDispatched === opMetrics.opsCompletedAsync) { -- return [ -- key, -- opMetrics.opsDispatched -- ]; -- } else { -- return [ -- key, -- opMetrics -- ]; -- } -- })); -- console.log(JSON.stringify(denoMetrics, null, 2)); - } - async function mainRunner(runner) { - try {