Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

quarto: 1.3.450 -> 1.4.550 #263108

Merged
merged 1 commit into from Feb 26, 2024
Merged

Conversation

b-rodrigues
Copy link
Contributor

@b-rodrigues b-rodrigues commented Oct 24, 2023

Description of changes

Updated to release 1.4.550.
Added support for typst.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.11 Release Notes (or backporting 23.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

@b-rodrigues
Copy link
Contributor Author

b-rodrigues commented Oct 24, 2023

Looks like it needs more work: the package builds and installs, but running quarto check results in the following error:

Quarto 1.4.444

[✓] Checking versions of quarto binary dependencies...
ERROR: Error executing '/nix/store/fhja5l5knmha9wqh7ssc5hm1cqsrwcf1-quarto-1.4.444/bin/tools/x86_64/pandoc': No such file or directory (os error 2)

Stack trace:
    at execProcess (file:///nix/store/fhja5l5knmha9wqh7ssc5hm1cqsrwcf1-quarto-1.4.444/bin/quarto.js:5279:15)
    at checkVersions (file:///nix/store/fhja5l5knmha9wqh7ssc5hm1cqsrwcf1-quarto-1.4.444/bin/quarto.js:97339:38)
    at check (file:///nix/store/fhja5l5knmha9wqh7ssc5hm1cqsrwcf1-quarto-1.4.444/bin/quarto.js:97312:19)
    at Command.fn (file:///nix/store/fhja5l5knmha9wqh7ssc5hm1cqsrwcf1-quarto-1.4.444/bin/quarto.js:97593:11)
    at Command.execute (file:///nix/store/fhja5l5knmha9wqh7ssc5hm1cqsrwcf1-quarto-1.4.444/bin/quarto.js:8111:[24](https://github.com/b-rodrigues/test_nixpkgs/actions/runs/6626213235/job/17998683165#step:5:25))
    at Command.parseCommand (file:///nix/store/fhja5l5knmha9wqh7ssc5hm1cqsrwcf1-quarto-1.4.444/bin/quarto.js:8007:[25](https://github.com/b-rodrigues/test_nixpkgs/actions/runs/6626213235/job/17998683165#step:5:26))
    at eventLoopTick (ext:core/01_core.js:183:11)
    at async quarto (file:///nix/store/fhja5l5knmha9wqh7ssc5hm1cqsrwcf1-quarto-1.4.444/bin/quarto.js:11[31](https://github.com/b-rodrigues/test_nixpkgs/actions/runs/6626213235/job/17998683165#step:5:32)15:5)
    at async file:///nix/store/fhja5l5knmha9wqh7ssc5hm1cqsrwcf1-quarto-1.4.444/bin/quarto.js:1131[33](https://github.com/b-rodrigues/test_nixpkgs/actions/runs/6626213235/job/17998683165#step:5:34):9

@minijackson
Copy link
Member

This looks like an upstream bug. From a quick look, this was probably introduced here: quarto-dev/quarto-cli#6182
or more precisely in this file: quarto-dev/quarto-cli@541287c#diff-477dc21184191b85ed1c39d9726c6943f3d3203e96484ed34d22511a3026c963

On x86_64-linux, the toolsPath("pandoc") call was replaced with toolsPath("x86_64/pandoc") in order to allow vendoring architecture-dependent tools.

But this moved the override variable from QUARTO_PANDOC to QUARTO_x86_64/PANDOC, which cannot exist.

Do you want to open an issue?

@b-rodrigues
Copy link
Contributor Author

Done!

@b-rodrigues
Copy link
Contributor Author

b-rodrigues commented Oct 25, 2023

So we got some input from the Quarto devs already.

Could we solve this on our end? Maybe by adapting something in the preFixup phase?

BTW, I take advantage of this (sorry, I don’t know how else to reach you) to tell you about a matrix room focused on R users on NixOS, I don’t know if you heard about it: https://matrix.to/#/#r:nixos.org
If you’re interested don’t hesitate to join!

dragonstyle added a commit to quarto-dev/quarto-cli that referenced this pull request Oct 29, 2023
This should address the issue #7344  raised in NixOS/nixpkgs#263108

Thanks to @b-rodrigues and @minijackson for their diligence in identifying the issue.
dragonstyle added a commit to quarto-dev/quarto-cli that referenced this pull request Oct 29, 2023
This should address the issue #7344  raised in NixOS/nixpkgs#263108

Thanks to @b-rodrigues and @minijackson for their diligence in identifying the issue.
@b-rodrigues b-rodrigues changed the title quarto: 1.3.450 -> 1.4.444-prerelease quarto: 1.3.450 -> 1.4.455-prerelease Oct 30, 2023
@b-rodrigues
Copy link
Contributor Author

So quarto-dev/quarto-cli@d90a385 solves the issue, quarto check now successfully completes:

Quarto 1.4.455

[✓] Checking versions of quarto binary dependencies...
      Pandoc version 3.1.8: OK
      Dart Sass version 1.[6](https://github.com/b-rodrigues/test_nixpkgs/actions/runs/6692690013/job/18182374811#step:5:7)9.0: OK
      Deno version 1.3[7](https://github.com/b-rodrigues/test_nixpkgs/actions/runs/6692690013/job/18182374811#step:5:8).1: OK

[✓] Checking versions of quarto dependencies......OK

[✓] Checking Quarto installation......OK
      Version: 1.4.455
      Path: /nix/store/f7plgj4wb1mxkbahhvif72zqdx59l6sj-quarto-1.4.455/bin


(|) Checking tools....................
[✓] Checking tools....................OK
      TinyTeX: (not installed)
      Chromium: (not installed)


[✓] Checking LaTeX....................OK
      Tex:  (not detected)


(|) Checking basic markdown render....
[✓] Checking basic markdown render....OK


(|) Checking Python 3 installation....
[✓] Checking Python 3 installation....OK
      Version: 3.11.5
      Path: /nix/store/qgm2hgfpzjbjjnzjj5gmjdivl0kr7isy-python3-3.11.5-env/bin/python3.11
      Jupyter: 5.3.1
      Kernels: python3


(|) Checking Jupyter engine render....[IPKernelApp] WARNING | debugpy_stream undefined, debugging will not be enabled

[✓] Checking Jupyter engine render....OK


(|) Checking R installation...........
[✓] Checking R installation...........OK
      Version: 4.3.1
      Path: /nix/store/jprn72h7cxwv7b5xbhdxw3qk7ck1jgaa-R-4.3.1/lib/R
      LibPaths:
        - /nix/store/vhfqmghwpi6b70jinlrlxi6g[8](https://github.com/b-rodrigues/test_nixpkgs/actions/runs/6692690013/job/18182374811#step:5:9)f07zp18-r-boot-1.3-28.1/library
        - /nix/store/hqkjgwskgdzwkjcgpbdl0bkxghv8dhnj-r-class-7.3-22/library
        - /nix/store/v[9](https://github.com/b-rodrigues/test_nixpkgs/actions/runs/6692690013/job/18182374811#step:5:10)dpna9bknacyxp09[10](https://github.com/b-rodrigues/test_nixpkgs/actions/runs/6692690013/job/18182374811#step:5:11)abr2wq1z5qd5x-r-MASS-7.3-60/library
        - /nix/store/gp0dbsqw527yb91ga4j7hjzy05nhrvpi-r-cluster-2.1.4/library
        - /nix/store/b926048c5kln424j00m2wx4rnzc08w8b-r-codetools-0.2-19/library
        - /nix/store/6nyb2g7b3swvwqnf6g2ybsdggkjx8x44-r-foreign-0.8-84/library
        - /nix/store/i3s79p52lzbsfs6qbpaiawrdfd6s0930-r-KernSmooth-2.23-22/library
        - /nix/store/ksznlqk196w5ykzc2p10nsqbg69pdg0g-r-lattice-0.21-8/library
        - /nix/store/10kawrj30ra4594zs6vs3958w8n9vcbx-r-Matrix-1.6-0/library
        - /nix/store/j3i3b92i29mn2vmbp93wrk8ikzy68gn0-r-mgcv-1.9-0/library
        - /nix/store/v7bvkysgn7hcmiy4l9w4rrhfjd563jvp-r-nlme-3.1-163/library
        - /nix/store/j8lbf4i82d5ljjkyqvl9zzw72z3z5h6k-r-nnet-7.3-19/library
        - /nix/store/1mfiss5qldksi2xwc23y5798ilppviaw-r-rpart-4.1.19/library
        - /nix/store/jbmcsbx00anwzs0707kba7kkqw85j525-r-spatial-7.3-17/library
        - /nix/store/lqbirjvxvyzpfnrpj293shds5yn67b9y-r-survival-3.5-5/library
        - /nix/store/k1swsm7nkkw0kxfibsnxg9dgb7kdyfvs-r-rmarkdown-2.23/library
        - /nix/store/pmmgp5fwc3v8l5kxa78x82lc0k5w33q7-r-bslib-0.5.0/library
        - /nix/store/91qm32j6qwc53qy70q71r1r97b6w4d40-r-base64enc-0.1-3/library
        - /nix/store/4zfm4y0kc9iqi1h6aasx4rbq1jxqx6fm-r-cachem-1.0.8/library
        - /nix/store/gc6n64197hh24fgi1x922crswmvgvpp5-r-fastmap-1.1.1/library
        - /nix/store/7l7gc8n5brf92r34pxiia56amldaqaa2-r-rlang-1.1.1/library
        - /nix/store/3fn0arljy5vkhwyl3kpyhzmrwf3cq8s0-r-htmltools-0.5.5/library
        - /nix/store/n1aknzwj62gd3hjd3mkj5iacl7jvj89s-r-digest-0.6.33/library
        - /nix/store/wcmqsyv27w3amc6yd8kjbvci7ica2987-r-ellipsis-0.3.2/library
        - /nix/store/dzsg7az90q0hdh459yfcvrc0wy7126kj-r-jquerylib-0.1.4/library
        - /nix/store/fhr6szjma35fyk4n551yk33x4jdhmvlj-r-jsonlite-1.8.7/library
        - /nix/store/9l1xd3p9vfz7vfari0kfgbz8a5axcaar-r-memoise-2.0.1/library
        - /nix/store/d3k7ly7l0lzqs2pgjdzci8nw8a9ilrpy-r-mime-0.12/library
        - /nix/store/8s97zk62s326qbjnaj916c6xymlq4v88-r-sass-0.4.7/library
        - /nix/store/0gafjkls5mz1vkcbrfi82z5cdbichy0x-r-fs-1.6.3/library
        - /nix/store/jzsznj405iq8bn53mjr0l0hw240bn246-r-R6-2.5.1/library
        - /nix/store/gacbd3pf3g5d1pbqrvlzq29mrbxfc1zc-r-rappdirs-0.3.3/library
        - /nix/store/821bl8yqwr0vsg931lq9q4fqc82a9b2g-r-evaluate-0.21/library
        - /nix/store/yqq67kvcd64wqmczgib7afwsrdxrl01j-r-fontawesome-0.5.1/library
        - /nix/store/2qv1x0sdp8hqgh5cp2lyb97b56xp5345-r-knitr-1.43/library
        - /nix/store/jvzcqrq82m9bw65za4md442nw18m8w8v-r-highr-0.10/library
        - /nix/store/cch4ghxx4rccw5yiidds3vfw8370j4qc-r-xfun-0.40/library
        - /nix/store/yd4pxklhwg3vwm98zywvy4wbsvjpgyyz-r-yaml-2.3.7/library
        - /nix/store/gr22wd28b24zgsrn7qqj0084v45jjkcl-r-stringr-1.5.0/library
        - /nix/store/08cxkd2aspwsi3grv56gpzsgczdl32zj-r-cli-3.6.1/library
        - /nix/store/91w0rm0jl3hsxp64k3rx0cbkzcnp2jc1-r-glue-1.6.2/library
        - /nix/store/b2rxbaajkr[11](https://github.com/b-rodrigues/test_nixpkgs/actions/runs/6692690013/job/18182374811#step:5:12)22yrjrdryqcil0d2g9az-r-lifecycle-1.0.3/library
        - /nix/store/m0h0v5iahzwf768b1mb0irg6crdzaawl-r-magrittr-2.0.3/library
        - /nix/store/nl8rd62vcww0gv5c63zzs73nhrsh31gi-r-stringi-1.7.[12](https://github.com/b-rodrigues/test_nixpkgs/actions/runs/6692690013/job/18182374811#step:5:13)/library
        - /nix/store/q8n02i00k697zfm0jirv8r5xbvwlzizh-r-vctrs-0.6.3/library
        - /nix/store/ckik0pqvvylbb5jwkqm7pcr9159xrk86-r-tinytex-0.46/library
        - /nix/store/98dxd2azlr8y4dix0zs6rb3bvs74cyv0-r-quarto-1.2/library
        - /nix/store/l5wcs9k78yi01hcdjr9nh8iyd1v34qm7-r-later-1.3.1/library
        - /nix/store/9y399bhwrv5dnnpn53cpraf896fr1fpd-r-Rcpp-1.0.11/library
        - /nix/store/0xrczxzx39cwv371yg0qllgclh2c59s1-r-processx-3.8.2/library
        - /nix/store/ii3n8bdshwm0ndxhz8rc1k2f3ys24r2m-r-ps-1.7.5/library
        - /nix/store/ahv4mpml3j3ig9wajs43myhbwvqp3m66-r-rsconnect-1.0.1/library
        - /nix/store/blamajh58iw375pw63qw4dr6709mvbq8-r-curl-5.0.1/library
        - /nix/store/4hw40pz3i58hipp71c5k4pgyppdmc3zx-r-openssl-2.1.0/library
        - /nix/store/fnvbh75cjm1ih51f3cn3isb50gh1clgw-r-askpass-1.1/library
        - /nix/store/7kqhf1h5haviiwvzd8by0qlwbzs8zfwf-r-sys-3.4.2/library
        - /nix/store/d1wirs4zkgh2j64506s4v5d9vk3wqpkf-r-packrat-0.9.1/library
        - /nix/store/4p8lmsr74gm0yr47f7x4cy9rc0gbkmsm-r-renv-1.0.0/library
        - /nix/store/dx9nhlarghcgi44g5axs40g68fqicv6k-r-rstudioapi-0.15.0/library
        - /nix/store/jprn72h7cxwv7b5xbhdxw3qk7ck1jgaa-R-4.3.1/lib/R/library
      knitr: 1.43
      rmarkdown: 2.[23](https://github.com/b-rodrigues/test_nixpkgs/actions/runs/6692690013/job/18182374811#step:5:24)


(|) Checking Knitr engine render......
[✓] Checking Knitr engine render......OK

@b-rodrigues
Copy link
Contributor Author

Everything still ok on version 1.4.531-prerelease. Question: once the new version actually gets released (beginning of next year, from what I’ve heard), should I open a new pull request or squash all the commets and simply change the status of this one?

@minijackson
Copy link
Member

Squashing all the commits, and changing the PR title seems fine for me!

@gkapfham
Copy link

Hello @b-rodrigues, I've been using quarto on Arch Linux for more than a year and I am currently trying to get it to work on NixOS. However, I'm running into a number of problems! For instance, I'm finding that my quarto program that I install from nixpkgs does not pick up the virtual environment that I create and then activate with either pip or poetry.

I am still trying to learn how to use NixOS so I hope that you don't mind me posting this question here. Basically, I'm wondering if you can give me an example of how to use the source code connected to this PR to see if I can get quarto working with the pre-release? Ultimately, I would like to test quarto with a very recent version on NixOS and if you can help, that would be very greatly appreciated. Thanks in advance!

@b-rodrigues
Copy link
Contributor Author

Hi @gkapfham I would suggest we take this to the nixpkgs-R matrix channel: https://matrix.to/#/#r:nixos.org

there's many experienced people there that might also help :)

@camillemndn
Copy link
Contributor

Hi, I was wondering: how can we support Typst, through the environment var "QUARTO_TYPST" for instance?

@b-rodrigues b-rodrigues changed the title quarto: 1.3.450 -> 1.4.455-prerelease quarto: 1.3.450 -> 1.4.549 Jan 25, 2024
@b-rodrigues
Copy link
Contributor Author

b-rodrigues commented Jan 25, 2024

Everything seems to be working well with the 1.4 release, also added support for typst, thanks @camillemndn for nudging me! Just running nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD" and if everything’s ok I’ll squash the commits and change the status from this PR from draft.

@camillemndn
Copy link
Contributor

Great! I use it with applyPatches on my NixOS machines and it works.

@b-rodrigues b-rodrigues marked this pull request as ready for review January 25, 2024 14:05
@b-rodrigues
Copy link
Contributor Author

Everything working well on my end: tested on an hello world qmd with R and Python chunks, also tested on a typst hello world. Squashed the commits into 1 as well.

Copy link
Member

@minijackson minijackson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Played around for quite a bit, everything works well!

Thanks a lot ❤️


Result of nixpkgs-review pr 263108 run on x86_64-linux 1

2 packages marked as broken and skipped:
  • python312Packages.nbdev
  • python312Packages.nbdev.dist
8 packages built:
  • python311Packages.nbdev
  • python311Packages.nbdev.dist
  • quarto
  • quartoMinimal
  • rstudio
  • rstudio-server
  • rstudioServerWrapper
  • rstudioWrapper

@minijackson minijackson mentioned this pull request Jan 27, 2024
13 tasks
@ogoid
Copy link
Contributor

ogoid commented Jan 27, 2024

Is the patch file really necessary? The /bin/quarto script is using QUARTO_DENO env var if existent, so we could just modify the wrapper:

    wrapProgram $out/bin/quarto \
      --prefix QUARTO_DENO : ${deno}/bin/deno \
      --prefix QUARTO_PANDOC : ${pandoc}/bin/pandoc \
      ...

@b-rodrigues
Copy link
Contributor Author

Is the patch file really necessary? The /bin/quarto script is using QUARTO_DENO env var if existent, so we could just modify the wrapper:

    wrapProgram $out/bin/quarto \
      --prefix QUARTO_DENO : ${deno}/bin/deno \
      --prefix QUARTO_PANDOC : ${pandoc}/bin/pandoc \
      ...

Hi, I don’t have strong opinions on this. I’ll let @minijackson @camillemndn and @MrTarantoga decide if we should get rid of the patch?

@minijackson
Copy link
Member

I have a slight preference for removing the patch, so that all the fixup happens in wrapProgram

@b-rodrigues
Copy link
Contributor Author

Ok, so I've incorporated @ogoid 's changes as well, and tested it everything seems to be working fine. Also squashed all the commits into one 😄

@ofborg ofborg bot requested a review from minijackson February 13, 2024 19:47
Copy link
Member

@minijackson minijackson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thanks a lot!


Result of nixpkgs-review pr 263108 run on x86_64-linux 1

2 packages marked as broken and skipped:
  • python312Packages.nbdev
  • python312Packages.nbdev.dist
8 packages built:
  • python311Packages.nbdev
  • python311Packages.nbdev.dist
  • quarto
  • quartoMinimal
  • rstudio
  • rstudio-server
  • rstudioServerWrapper
  • rstudioWrapper

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/prs-already-reviewed/2617/1457

@lasse16
Copy link

lasse16 commented Feb 19, 2024

Hi,
I stumbled across this PR and found two things.

  1. newest version is released as of 15. Feb. 2024
  2. It is labelled as v1.4.550 ; NOT v1.4.549 as in the changes introduced by this commit

Many thanks for taking care of Quarto !

@b-rodrigues
Copy link
Contributor Author

hey thanks for the heads-up! I'll update this PR to reflect this new release tomorrow

@b-rodrigues b-rodrigues changed the title quarto: 1.3.450 -> 1.4.549 quarto: 1.3.450 -> 1.4.550 Feb 20, 2024
@b-rodrigues b-rodrigues force-pushed the quarto_1.4 branch 2 times, most recently from c86dc2e to 3223dea Compare February 20, 2024 17:30
@b-rodrigues
Copy link
Contributor Author

Updated to latest quarto, everything should be working fine still.

@ofborg ofborg bot requested a review from minijackson February 20, 2024 17:32
Copy link
Member

@minijackson minijackson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks again!


Result of nixpkgs-review pr 263108 run on x86_64-linux 1

2 packages marked as broken and skipped:
  • python312Packages.nbdev
  • python312Packages.nbdev.dist
8 packages built:
  • python311Packages.nbdev
  • python311Packages.nbdev.dist
  • quarto
  • quartoMinimal
  • rstudio
  • rstudio-server
  • rstudioServerWrapper
  • rstudioWrapper

@b-rodrigues
Copy link
Contributor Author

Thanks for the inputs, everything seems to be working still 😄

@ofborg ofborg bot requested a review from minijackson February 25, 2024 14:53
Copy link
Member

@minijackson minijackson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Result of nixpkgs-review pr 263108 run on x86_64-linux 1

10 packages built:
  • python311Packages.nbdev
  • python311Packages.nbdev.dist
  • python312Packages.nbdev
  • python312Packages.nbdev.dist
  • quarto
  • quartoMinimal
  • rstudio
  • rstudio-server
  • rstudioServerWrapper
  • rstudioWrapper

@SuperSandro2000 SuperSandro2000 merged commit 8c826e3 into NixOS:master Feb 26, 2024
22 of 23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants