nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge staging-next into staging

authored by

github-actions[bot] and committed by
GitHub
97808bf5 0f844d9b

+2227 -1784
-11
doc/.gitignore
··· 1 - *.chapter.xml 2 - *.section.xml 3 - .version 4 - functions/library/generated 5 - functions/library/locations.xml 6 - highlightjs 7 - manual-full.xml 8 - out 9 - result 10 - result-* 11 - media
-114
doc/Makefile
··· 1 - MD_TARGETS=$(addsuffix .xml, $(basename $(shell find . -type f -regex '.*\.md$$' -not -name README.md))) 2 - 3 - PANDOC ?= pandoc 4 - 5 - pandoc_media_dir = media 6 - # NOTE: Keep in sync with conversion script (/maintainers/scripts/db-to-md.sh). 7 - # TODO: Remove raw-attribute when we can get rid of DocBook altogether. 8 - pandoc_commonmark_enabled_extensions = +attributes+fenced_divs+footnotes+bracketed_spans+definition_lists+pipe_tables+raw_attribute 9 - # Not needed: 10 - # - docbook-reader/citerefentry-to-rst-role.lua (only relevant for DocBook → MarkDown/rST/MyST) 11 - pandoc_flags = --extract-media=$(pandoc_media_dir) \ 12 - --lua-filter=$(PANDOC_LUA_FILTERS_DIR)/diagram-generator.lua \ 13 - --lua-filter=build-aux/pandoc-filters/myst-reader/roles.lua \ 14 - --lua-filter=$(PANDOC_LINK_MANPAGES_FILTER) \ 15 - --lua-filter=build-aux/pandoc-filters/docbook-writer/rst-roles.lua \ 16 - --lua-filter=build-aux/pandoc-filters/docbook-writer/labelless-link-is-xref.lua \ 17 - -f commonmark$(pandoc_commonmark_enabled_extensions)+smart 18 - 19 - .PHONY: all 20 - all: validate format out/html/index.html out/epub/manual.epub 21 - 22 - .PHONY: render-md 23 - render-md: ${MD_TARGETS} 24 - 25 - .PHONY: debug 26 - debug: 27 - nix-shell --run "xmloscopy --docbook5 ./manual.xml ./manual-full.xml" 28 - 29 - .PHONY: format 30 - format: doc-support/result 31 - find . -iname '*.xml' -type f | while read f; do \ 32 - echo $$f ;\ 33 - xmlformat --config-file "doc-support/result/xmlformat.conf" -i $$f ;\ 34 - done 35 - 36 - .PHONY: fix-misc-xml 37 - fix-misc-xml: 38 - find . -iname '*.xml' -type f \ 39 - -exec ../nixos/doc/varlistentry-fixer.rb {} ';' 40 - 41 - .PHONY: clean 42 - clean: 43 - rm -f ${MD_TARGETS} doc-support/result .version manual-full.xml functions/library/locations.xml functions/library/generated 44 - rm -rf ./out/ ./highlightjs ./media 45 - 46 - .PHONY: validate 47 - validate: manual-full.xml doc-support/result 48 - jing doc-support/result/docbook.rng manual-full.xml 49 - 50 - out/html/index.html: doc-support/result manual-full.xml style.css highlightjs 51 - mkdir -p out/html 52 - xsltproc \ 53 - --nonet --xinclude \ 54 - --output $@ \ 55 - doc-support/result/xhtml.xsl \ 56 - ./manual-full.xml 57 - 58 - mkdir -p out/html/highlightjs/ 59 - cp -r highlightjs out/html/ 60 - 61 - cp -r $(pandoc_media_dir) out/html/ 62 - cp ./overrides.css out/html/ 63 - cp ./style.css out/html/style.css 64 - 65 - mkdir -p out/html/images/callouts 66 - cp doc-support/result/xsl/docbook/images/callouts/*.svg out/html/images/callouts/ 67 - chmod u+w -R out/html/ 68 - 69 - out/epub/manual.epub: epub.xml 70 - mkdir -p out/epub/scratch 71 - xsltproc --nonet \ 72 - --output out/epub/scratch/ \ 73 - doc-support/result/epub.xsl \ 74 - ./epub.xml 75 - 76 - echo "application/epub+zip" > mimetype 77 - zip -0Xq "out/epub/manual.epub" mimetype 78 - rm mimetype 79 - cd "out/epub/scratch/" && zip -Xr9D "../manual.epub" * 80 - rm -rf "out/epub/scratch/" 81 - 82 - highlightjs: doc-support/result 83 - mkdir -p highlightjs 84 - cp -r doc-support/result/highlightjs/highlight.pack.js highlightjs/ 85 - cp -r doc-support/result/highlightjs/LICENSE highlightjs/ 86 - cp -r doc-support/result/highlightjs/mono-blue.css highlightjs/ 87 - cp -r doc-support/result/highlightjs/loader.js highlightjs/ 88 - 89 - 90 - manual-full.xml: ${MD_TARGETS} .version functions/library/locations.xml functions/library/generated *.xml **/*.xml **/**/*.xml 91 - xmllint --nonet --xinclude --noxincludenode manual.xml --output manual-full.xml 92 - 93 - .version: doc-support/result 94 - ln -rfs ./doc-support/result/version .version 95 - 96 - doc-support/result: doc-support/default.nix 97 - (cd doc-support; nix-build) 98 - 99 - functions/library/locations.xml: doc-support/result 100 - ln -rfs ./doc-support/result/function-locations.xml functions/library/locations.xml 101 - 102 - functions/library/generated: doc-support/result 103 - ln -rfs ./doc-support/result/function-docs functions/library/generated 104 - 105 - %.section.xml: %.section.md 106 - $(PANDOC) $^ -t docbook \ 107 - $(pandoc_flags) \ 108 - -o $@ 109 - 110 - %.chapter.xml: %.chapter.md 111 - $(PANDOC) $^ -t docbook \ 112 - --top-level-division=chapter \ 113 - $(pandoc_flags) \ 114 - -o $@
-23
doc/build-aux/pandoc-filters/docbook-reader/citerefentry-to-rst-role.lua
··· 1 - --[[ 2 - Converts Code AST nodes produced by pandoc’s DocBook reader 3 - from citerefentry elements into AST for corresponding role 4 - for reStructuredText. 5 - 6 - We use subset of MyST syntax (CommonMark with features from rST) 7 - so let’s use the rST AST for rST features. 8 - 9 - Reference: https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-manpage 10 - ]] 11 - 12 - function Code(elem) 13 - elem.classes = elem.classes:map(function (x) 14 - if x == 'citerefentry' then 15 - elem.attributes['role'] = 'manpage' 16 - return 'interpreted-text' 17 - else 18 - return x 19 - end 20 - end) 21 - 22 - return elem 23 - end
-44
doc/build-aux/pandoc-filters/docbook-writer/rst-roles.lua
··· 1 - --[[ 2 - Converts AST for reStructuredText roles into corresponding 3 - DocBook elements. 4 - 5 - Currently, only a subset of roles is supported. 6 - 7 - Reference: 8 - List of roles: 9 - https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html 10 - manpage: 11 - https://tdg.docbook.org/tdg/5.1/citerefentry.html 12 - file: 13 - https://tdg.docbook.org/tdg/5.1/filename.html 14 - ]] 15 - 16 - function Code(elem) 17 - if elem.classes:includes('interpreted-text') then 18 - local tag = nil 19 - local content = elem.text 20 - if elem.attributes['role'] == 'manpage' then 21 - tag = 'citerefentry' 22 - local title, volnum = content:match('^(.+)%((%w+)%)$') 23 - if title == nil then 24 - -- No volnum in parentheses. 25 - title = content 26 - end 27 - content = '<refentrytitle>' .. title .. '</refentrytitle>' .. (volnum ~= nil and ('<manvolnum>' .. volnum .. '</manvolnum>') or '') 28 - elseif elem.attributes['role'] == 'file' then 29 - tag = 'filename' 30 - elseif elem.attributes['role'] == 'command' then 31 - tag = 'command' 32 - elseif elem.attributes['role'] == 'option' then 33 - tag = 'option' 34 - elseif elem.attributes['role'] == 'var' then 35 - tag = 'varname' 36 - elseif elem.attributes['role'] == 'env' then 37 - tag = 'envar' 38 - end 39 - 40 - if tag ~= nil then 41 - return pandoc.RawInline('docbook', '<' .. tag .. '>' .. content .. '</' .. tag .. '>') 42 - end 43 - end 44 - end
-36
doc/build-aux/pandoc-filters/myst-reader/roles.lua
··· 1 - --[[ 2 - Replaces Str AST nodes containing {role}, followed by a Code node 3 - by a Code node with attrs that would be produced by rST reader 4 - from the role syntax. 5 - 6 - This is to emulate MyST syntax in Pandoc. 7 - (MyST is a CommonMark flavour with rST features mixed in.) 8 - 9 - Reference: https://myst-parser.readthedocs.io/en/latest/syntax/syntax.html#roles-an-in-line-extension-point 10 - ]] 11 - 12 - function Inlines(inlines) 13 - for i = #inlines-1,1,-1 do 14 - local first = inlines[i] 15 - local second = inlines[i+1] 16 - local correct_tags = first.tag == 'Str' and second.tag == 'Code' 17 - if correct_tags then 18 - -- docutils supports alphanumeric strings separated by [-._:] 19 - -- We are slightly more liberal for simplicity. 20 - -- Allow preceding punctuation (eg '('), otherwise '({file}`...`)' 21 - -- does not match. Also allow anything followed by a non-breaking space 22 - -- since pandoc emits those after certain abbreviations (e.g. e.g.). 23 - local prefix, role = first.text:match('^(.*){([-._+:%w]+)}$') 24 - if role ~= nil and (prefix == '' or prefix:match("^.*[%p ]$") ~= nil) then 25 - if prefix == '' then 26 - inlines:remove(i) 27 - else 28 - first.text = prefix 29 - end 30 - second.attributes['role'] = role 31 - second.classes:insert('interpreted-text') 32 - end 33 - end 34 - end 35 - return inlines 36 - end
-25
doc/build-aux/pandoc-filters/myst-writer/roles.lua
··· 1 - --[[ 2 - Replaces Code nodes with attrs that would be produced by rST reader 3 - from the role syntax by a Str AST node containing {role}, followed by a Code node. 4 - 5 - This is to emulate MyST syntax in Pandoc. 6 - (MyST is a CommonMark flavour with rST features mixed in.) 7 - 8 - Reference: https://myst-parser.readthedocs.io/en/latest/syntax/syntax.html#roles-an-in-line-extension-point 9 - ]] 10 - 11 - function Code(elem) 12 - local role = elem.attributes['role'] 13 - 14 - if elem.classes:includes('interpreted-text') and role ~= nil then 15 - elem.classes = elem.classes:filter(function (c) 16 - return c ~= 'interpreted-text' 17 - end) 18 - elem.attributes['role'] = nil 19 - 20 - return { 21 - pandoc.Str('{' .. role .. '}'), 22 - elem, 23 - } 24 - end 25 - end
+12
doc/builders.md
··· 1 + # Builders {#part-builders} 2 + 3 + ```{=include=} chapters 4 + builders/fetchers.chapter.md 5 + builders/trivial-builders.chapter.md 6 + builders/testers.chapter.md 7 + builders/special.md 8 + builders/images.md 9 + hooks/index.md 10 + languages-frameworks/index.md 11 + builders/packages/index.md 12 + ```
+13
doc/builders/images.md
··· 1 + # Images {#chap-images} 2 + 3 + This chapter describes tools for creating various types of images. 4 + 5 + ```{=include=} sections 6 + images/appimagetools.section.md 7 + images/dockertools.section.md 8 + images/ocitools.section.md 9 + images/snaptools.section.md 10 + images/portableservice.section.md 11 + images/makediskimage.section.md 12 + images/binarycache.section.md 13 + ```
-15
doc/builders/images.xml
··· 1 - <chapter xmlns="http://docbook.org/ns/docbook" 2 - xmlns:xi="http://www.w3.org/2001/XInclude" 3 - xml:id="chap-images"> 4 - <title>Images</title> 5 - <para> 6 - This chapter describes tools for creating various types of images. 7 - </para> 8 - <xi:include href="images/appimagetools.section.xml" /> 9 - <xi:include href="images/dockertools.section.xml" /> 10 - <xi:include href="images/ocitools.section.xml" /> 11 - <xi:include href="images/snaptools.section.xml" /> 12 - <xi:include href="images/portableservice.section.xml" /> 13 - <xi:include href="images/makediskimage.section.xml" /> 14 - <xi:include href="images/binarycache.section.xml" /> 15 - </chapter>
+1 -1
doc/builders/packages/dlib.section.md
··· 1 1 # DLib {#dlib} 2 2 3 - [DLib](http://dlib.net/) is a modern, C++-based toolkit which provides several machine learning algorithms. 3 + [DLib](http://dlib.net/) is a modern, C++\-based toolkit which provides several machine learning algorithms. 4 4 5 5 ## Compiling without AVX support {#compiling-without-avx-support} 6 6
+27
doc/builders/packages/index.md
··· 1 + # Packages {#chap-packages} 2 + 3 + This chapter contains information about how to use and maintain the Nix expressions for a number of specific packages, such as the Linux kernel or X.org. 4 + 5 + ```{=include=} sections 6 + citrix.section.md 7 + dlib.section.md 8 + eclipse.section.md 9 + elm.section.md 10 + emacs.section.md 11 + firefox.section.md 12 + fish.section.md 13 + fuse.section.md 14 + ibus.section.md 15 + kakoune.section.md 16 + linux.section.md 17 + locales.section.md 18 + etc-files.section.md 19 + nginx.section.md 20 + opengl.section.md 21 + shell-helpers.section.md 22 + steam.section.md 23 + cataclysm-dda.section.md 24 + urxvt.section.md 25 + weechat.section.md 26 + xorg.section.md 27 + ```
-29
doc/builders/packages/index.xml
··· 1 - <chapter xmlns="http://docbook.org/ns/docbook" 2 - xmlns:xi="http://www.w3.org/2001/XInclude" 3 - xml:id="chap-packages"> 4 - <title>Packages</title> 5 - <para> 6 - This chapter contains information about how to use and maintain the Nix expressions for a number of specific packages, such as the Linux kernel or X.org. 7 - </para> 8 - <xi:include href="citrix.section.xml" /> 9 - <xi:include href="dlib.section.xml" /> 10 - <xi:include href="eclipse.section.xml" /> 11 - <xi:include href="elm.section.xml" /> 12 - <xi:include href="emacs.section.xml" /> 13 - <xi:include href="firefox.section.xml" /> 14 - <xi:include href="fish.section.xml" /> 15 - <xi:include href="fuse.section.xml" /> 16 - <xi:include href="ibus.section.xml" /> 17 - <xi:include href="kakoune.section.xml" /> 18 - <xi:include href="linux.section.xml" /> 19 - <xi:include href="locales.section.xml" /> 20 - <xi:include href="etc-files.section.xml" /> 21 - <xi:include href="nginx.section.xml" /> 22 - <xi:include href="opengl.section.xml" /> 23 - <xi:include href="shell-helpers.section.xml" /> 24 - <xi:include href="steam.section.xml" /> 25 - <xi:include href="cataclysm-dda.section.xml" /> 26 - <xi:include href="urxvt.section.xml" /> 27 - <xi:include href="weechat.section.xml" /> 28 - <xi:include href="xorg.section.xml" /> 29 - </chapter>
+11
doc/builders/special.md
··· 1 + # Special builders {#chap-special} 2 + 3 + This chapter describes several special builders. 4 + 5 + ```{=include=} sections 6 + special/fhs-environments.section.md 7 + special/makesetuphook.section.md 8 + special/mkshell.section.md 9 + special/darwin-builder.section.md 10 + special/vm-tools.section.md 11 + ```
-13
doc/builders/special.xml
··· 1 - <chapter xmlns="http://docbook.org/ns/docbook" 2 - xmlns:xi="http://www.w3.org/2001/XInclude" 3 - xml:id="chap-special"> 4 - <title>Special builders</title> 5 - <para> 6 - This chapter describes several special builders. 7 - </para> 8 - <xi:include href="special/fhs-environments.section.xml" /> 9 - <xi:include href="special/makesetuphook.section.xml" /> 10 - <xi:include href="special/mkshell.section.xml" /> 11 - <xi:include href="special/darwin-builder.section.xml" /> 12 - <xi:include href="special/vm-tools.section.xml" /> 13 - </chapter>
+10
doc/contributing.md
··· 1 + # Contributing to Nixpkgs {#part-contributing} 2 + 3 + ```{=include=} chapters 4 + contributing/quick-start.chapter.md 5 + contributing/coding-conventions.chapter.md 6 + contributing/submitting-changes.chapter.md 7 + contributing/vulnerability-roundup.chapter.md 8 + contributing/reviewing-contributions.chapter.md 9 + contributing/contributing-to-documentation.chapter.md 10 + ```
+16
doc/contributing/staging-workflow.dot
··· 1 + digraph { 2 + "small changes" [shape=none] 3 + "mass-rebuilds and other large changes" [shape=none] 4 + "critical security fixes" [shape=none] 5 + "broken staging-next fixes" [shape=none] 6 + 7 + "small changes" -> master 8 + "mass-rebuilds and other large changes" -> staging 9 + "critical security fixes" -> master 10 + "broken staging-next fixes" -> "staging-next" 11 + 12 + "staging-next" -> master [color="#E85EB0"] [label="stabilization ends"] [fontcolor="#E85EB0"] 13 + "staging" -> "staging-next" [color="#E85EB0"] [label="stabilization starts"] [fontcolor="#E85EB0"] 14 + 15 + master -> "staging-next" -> staging [color="#5F5EE8"] [label="every six hours (GitHub Action)"] [fontcolor="#5F5EE8"] 16 + }
+102
doc/contributing/staging-workflow.svg
··· 1 + <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 + <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 3 + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> 4 + <!-- Generated by graphviz version 7.1.0 (0) 5 + --> 6 + <!-- Pages: 1 --> 7 + <svg width="743pt" height="291pt" 8 + viewBox="0.00 0.00 743.00 291.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 9 + <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 287)"> 10 + <polygon fill="white" stroke="none" points="-4,4 -4,-287 739,-287 739,4 -4,4"/> 11 + <!-- small changes --> 12 + <g id="node1" class="node"> 13 + <title>small changes</title> 14 + <text text-anchor="middle" x="59" y="-261.3" font-family="Times,serif" font-size="14.00">small changes</text> 15 + </g> 16 + <!-- master --> 17 + <g id="node5" class="node"> 18 + <title>master</title> 19 + <ellipse fill="none" stroke="black" cx="139" cy="-192" rx="43.59" ry="18"/> 20 + <text text-anchor="middle" x="139" y="-188.3" font-family="Times,serif" font-size="14.00">master</text> 21 + </g> 22 + <!-- small changes&#45;&gt;master --> 23 + <g id="edge1" class="edge"> 24 + <title>small changes&#45;&gt;master</title> 25 + <path fill="none" stroke="black" d="M77.96,-247.17C88.42,-237.89 101.55,-226.23 112.96,-216.11"/> 26 + <polygon fill="black" stroke="black" points="114.99,-218.99 120.14,-209.74 110.34,-213.76 114.99,-218.99"/> 27 + </g> 28 + <!-- mass&#45;rebuilds and other large changes --> 29 + <g id="node2" class="node"> 30 + <title>mass&#45;rebuilds and other large changes</title> 31 + <text text-anchor="middle" x="588" y="-101.3" font-family="Times,serif" font-size="14.00">mass&#45;rebuilds and other large changes</text> 32 + </g> 33 + <!-- staging --> 34 + <g id="node6" class="node"> 35 + <title>staging</title> 36 + <ellipse fill="none" stroke="black" cx="438" cy="-18" rx="45.49" ry="18"/> 37 + <text text-anchor="middle" x="438" y="-14.3" font-family="Times,serif" font-size="14.00">staging</text> 38 + </g> 39 + <!-- mass&#45;rebuilds and other large changes&#45;&gt;staging --> 40 + <g id="edge2" class="edge"> 41 + <title>mass&#45;rebuilds and other large changes&#45;&gt;staging</title> 42 + <path fill="none" stroke="black" d="M587.48,-87.47C586.26,-76.55 582.89,-62.7 574,-54 553.19,-33.63 522.2,-24.65 495.05,-20.86"/> 43 + <polygon fill="black" stroke="black" points="495.53,-17.39 485.2,-19.71 494.72,-24.35 495.53,-17.39"/> 44 + </g> 45 + <!-- critical security fixes --> 46 + <g id="node3" class="node"> 47 + <title>critical security fixes</title> 48 + <text text-anchor="middle" x="219" y="-261.3" font-family="Times,serif" font-size="14.00">critical security fixes</text> 49 + </g> 50 + <!-- critical security fixes&#45;&gt;master --> 51 + <g id="edge3" class="edge"> 52 + <title>critical security fixes&#45;&gt;master</title> 53 + <path fill="none" stroke="black" d="M200.04,-247.17C189.58,-237.89 176.45,-226.23 165.04,-216.11"/> 54 + <polygon fill="black" stroke="black" points="167.66,-213.76 157.86,-209.74 163.01,-218.99 167.66,-213.76"/> 55 + </g> 56 + <!-- broken staging&#45;next fixes --> 57 + <g id="node4" class="node"> 58 + <title>broken staging&#45;next fixes</title> 59 + <text text-anchor="middle" x="414" y="-188.3" font-family="Times,serif" font-size="14.00">broken staging&#45;next fixes</text> 60 + </g> 61 + <!-- staging&#45;next --> 62 + <g id="node7" class="node"> 63 + <title>staging&#45;next</title> 64 + <ellipse fill="none" stroke="black" cx="272" cy="-105" rx="68.79" ry="18"/> 65 + <text text-anchor="middle" x="272" y="-101.3" font-family="Times,serif" font-size="14.00">staging&#45;next</text> 66 + </g> 67 + <!-- broken staging&#45;next fixes&#45;&gt;staging&#45;next --> 68 + <g id="edge4" class="edge"> 69 + <title>broken staging&#45;next fixes&#45;&gt;staging&#45;next</title> 70 + <path fill="none" stroke="black" d="M410.2,-174.42C406.88,-163.48 400.98,-149.62 391,-141 377.77,-129.56 360.96,-121.86 344.17,-116.67"/> 71 + <polygon fill="black" stroke="black" points="345.21,-113.33 334.63,-114.02 343.33,-120.07 345.21,-113.33"/> 72 + </g> 73 + <!-- master&#45;&gt;staging&#45;next --> 74 + <g id="edge7" class="edge"> 75 + <title>master&#45;&gt;staging&#45;next</title> 76 + <path fill="none" stroke="#5f5ee8" d="M96.55,-187.26C53.21,-181.83 -4.5,-169.14 20,-141 41.99,-115.74 126.36,-108.13 191.48,-106.11"/> 77 + <polygon fill="#5f5ee8" stroke="#5f5ee8" points="191.57,-109.61 201.47,-105.85 191.38,-102.62 191.57,-109.61"/> 78 + <text text-anchor="middle" x="133" y="-144.8" font-family="Times,serif" font-size="14.00" fill="#5f5ee8">every six hours (GitHub Action)</text> 79 + </g> 80 + <!-- staging&#45;&gt;staging&#45;next --> 81 + <g id="edge6" class="edge"> 82 + <title>staging&#45;&gt;staging&#45;next</title> 83 + <path fill="none" stroke="#e85eb0" d="M434.55,-36.2C431.48,-47.12 425.89,-60.72 416,-69 397.61,-84.41 373.51,-93.23 350.31,-98.23"/> 84 + <polygon fill="#e85eb0" stroke="#e85eb0" points="349.67,-94.79 340.5,-100.1 350.98,-101.66 349.67,-94.79"/> 85 + <text text-anchor="middle" x="493.5" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#e85eb0">stabilization starts</text> 86 + </g> 87 + <!-- staging&#45;next&#45;&gt;master --> 88 + <g id="edge5" class="edge"> 89 + <title>staging&#45;next&#45;&gt;master</title> 90 + <path fill="none" stroke="#e85eb0" d="M268.22,-123.46C265.05,-134.22 259.46,-147.52 250,-156 233.94,-170.4 211.98,-178.87 191.83,-183.86"/> 91 + <polygon fill="#e85eb0" stroke="#e85eb0" points="191.35,-180.38 182.34,-185.96 192.86,-187.22 191.35,-180.38"/> 92 + <text text-anchor="middle" x="323.5" y="-144.8" font-family="Times,serif" font-size="14.00" fill="#e85eb0">stabilization ends</text> 93 + </g> 94 + <!-- staging&#45;next&#45;&gt;staging --> 95 + <g id="edge8" class="edge"> 96 + <title>staging&#45;next&#45;&gt;staging</title> 97 + <path fill="none" stroke="#5f5ee8" d="M221.07,-92.46C194.72,-84.14 170.92,-71.32 186,-54 210.78,-25.54 314.74,-19.48 381.15,-18.6"/> 98 + <polygon fill="#5f5ee8" stroke="#5f5ee8" points="380.79,-22.1 390.76,-18.51 380.73,-15.1 380.79,-22.1"/> 99 + <text text-anchor="middle" x="299" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#5f5ee8">every six hours (GitHub Action)</text> 100 + </g> 101 + </g> 102 + </svg>
+5 -18
doc/contributing/submitting-changes.chapter.md
··· 214 214 - Hydra builds for master and staging should not be used as testing platform, it’s a build farm for changes that have been already tested. 215 215 - When changing the bootloader installation process, extra care must be taken. Grub installations cannot be rolled back, hence changes may break people’s installations forever. For any non-trivial change to the bootloader please file a PR asking for review, especially from \@edolstra. 216 216 217 - ```{.graphviz caption="Staging workflow"} 218 - digraph { 219 - "small changes" [shape=none] 220 - "mass-rebuilds and other large changes" [shape=none] 221 - "critical security fixes" [shape=none] 222 - "broken staging-next fixes" [shape=none] 223 - 224 - "small changes" -> master 225 - "mass-rebuilds and other large changes" -> staging 226 - "critical security fixes" -> master 227 - "broken staging-next fixes" -> "staging-next" 228 - 229 - "staging-next" -> master [color="#E85EB0"] [label="stabilization ends"] [fontcolor="#E85EB0"] 230 - "staging" -> "staging-next" [color="#E85EB0"] [label="stabilization starts"] [fontcolor="#E85EB0"] 231 - 232 - master -> "staging-next" -> staging [color="#5F5EE8"] [label="every six hours (GitHub Action)"] [fontcolor="#5F5EE8"] 233 - } 234 - ``` 217 + ::: {.figure #fig-staging-workflow} 218 + # Staging workflow 219 + <!-- generated from ./staging-workflow.dot using: dot -Tsvg staging-workflow.dot > staging-workflow.svg --> 220 + ![Staging workflow](./staging-workflow.svg) 221 + ::: 235 222 236 223 [This GitHub Action](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/periodic-merge-6h.yml) brings changes from `master` to `staging-next` and from `staging-next` to `staging` every 6 hours; these are the blue arrows in the diagram above. The purple arrows in the diagram above are done manually and much less frequently. You can get an idea of how often these merges occur by looking at the git history. 237 224
+119 -43
doc/default.nix
··· 1 1 { pkgs ? (import ./.. { }), nixpkgs ? { }}: 2 2 let 3 - doc-support = import ./doc-support { inherit pkgs nixpkgs; }; 3 + inherit (pkgs) lib; 4 + inherit (lib) hasPrefix removePrefix; 5 + 6 + lib-docs = import ./doc-support/lib-function-docs.nix { 7 + inherit pkgs nixpkgs; 8 + libsets = [ 9 + { name = "asserts"; description = "assertion functions"; } 10 + { name = "attrsets"; description = "attribute set functions"; } 11 + { name = "strings"; description = "string manipulation functions"; } 12 + { name = "versions"; description = "version string functions"; } 13 + { name = "trivial"; description = "miscellaneous functions"; } 14 + { name = "lists"; description = "list manipulation functions"; } 15 + { name = "debug"; description = "debugging functions"; } 16 + { name = "options"; description = "NixOS / nixpkgs option handling"; } 17 + { name = "path"; description = "path functions"; } 18 + { name = "filesystem"; description = "filesystem functions"; } 19 + { name = "sources"; description = "source filtering functions"; } 20 + { name = "cli"; description = "command-line serialization functions"; } 21 + ]; 22 + }; 23 + 24 + epub = pkgs.runCommand "manual.epub" { 25 + nativeBuildInputs = with pkgs; [ libxslt zip ]; 26 + 27 + epub = '' 28 + <book xmlns="http://docbook.org/ns/docbook" 29 + xmlns:xlink="http://www.w3.org/1999/xlink" 30 + version="5.0" 31 + xml:id="nixpkgs-manual"> 32 + <info> 33 + <title>Nixpkgs Manual</title> 34 + <subtitle>Version ${pkgs.lib.version}</subtitle> 35 + </info> 36 + <chapter> 37 + <title>Temporarily unavailable</title> 38 + <para> 39 + The Nixpkgs manual is currently not available in EPUB format, 40 + please use the <link xlink:href="https://nixos.org/nixpkgs/manual">HTML manual</link> 41 + instead. 42 + </para> 43 + <para> 44 + If you've used the EPUB manual in the past and it has been useful to you, please 45 + <link xlink:href="https://github.com/NixOS/nixpkgs/issues/237234">let us know</link>. 46 + </para> 47 + </chapter> 48 + </book> 49 + ''; 50 + 51 + passAsFile = [ "epub" ]; 52 + } '' 53 + mkdir scratch 54 + xsltproc \ 55 + --param chapter.autolabel 0 \ 56 + --nonet \ 57 + --output scratch/ \ 58 + ${pkgs.docbook_xsl_ns}/xml/xsl/docbook/epub/docbook.xsl \ 59 + $epubPath 60 + 61 + echo "application/epub+zip" > mimetype 62 + zip -0Xq "$out" mimetype 63 + cd scratch && zip -Xr9D "$out" * 64 + ''; 65 + 66 + # NB: This file describes the Nixpkgs manual, which happens to use module 67 + # docs infra originally developed for NixOS. 68 + optionsDoc = pkgs.nixosOptionsDoc { 69 + inherit (pkgs.lib.evalModules { 70 + modules = [ ../pkgs/top-level/config.nix ]; 71 + class = "nixpkgsConfig"; 72 + }) options; 73 + documentType = "none"; 74 + transformOptions = opt: 75 + opt // { 76 + declarations = 77 + map 78 + (decl: 79 + if hasPrefix (toString ../..) (toString decl) 80 + then 81 + let subpath = removePrefix "/" (removePrefix (toString ../.) (toString decl)); 82 + in { url = "https://github.com/NixOS/nixpkgs/blob/master/${subpath}"; name = subpath; } 83 + else decl) 84 + opt.declarations; 85 + }; 86 + }; 4 87 in pkgs.stdenv.mkDerivation { 5 88 name = "nixpkgs-manual"; 6 89 7 90 nativeBuildInputs = with pkgs; [ 8 - pandoc 9 - graphviz 10 - libxml2 11 - libxslt 12 - zip 13 - jing 14 - xmlformat 91 + nixos-render-docs 15 92 ]; 16 93 17 - src = pkgs.nix-gitignore.gitignoreSource [] ./.; 94 + src = ./.; 18 95 19 96 postPatch = '' 20 - ln -s ${doc-support} ./doc-support/result 97 + ln -s ${optionsDoc.optionsJSON}/share/doc/nixos/options.json ./config-options.json 21 98 ''; 22 99 23 - epub = '' 24 - <book xmlns="http://docbook.org/ns/docbook" 25 - xmlns:xlink="http://www.w3.org/1999/xlink" 26 - version="5.0" 27 - xml:id="nixpkgs-manual"> 28 - <info> 29 - <title>Nixpkgs Manual</title> 30 - <subtitle>Version ${pkgs.lib.version}</subtitle> 31 - </info> 32 - <chapter> 33 - <title>Temporarily unavailable</title> 34 - <para> 35 - The Nixpkgs manual is currently not available in EPUB format, 36 - please use the <link xlink:href="https://nixos.org/nixpkgs/manual">HTML manual</link> 37 - instead. 38 - </para> 39 - <para> 40 - If you've used the EPUB manual in the past and it has been useful to you, please 41 - <link xlink:href="https://github.com/NixOS/nixpkgs/issues/237234">let us know</link>. 42 - </para> 43 - </chapter> 44 - </book> 45 - ''; 46 - passAsFile = [ "epub" ]; 100 + buildPhase = '' 101 + cat \ 102 + ./functions/library.md.in \ 103 + ${lib-docs}/index.md \ 104 + > ./functions/library.md 105 + substitute ./manual.md.in ./manual.md \ 106 + --replace '@MANUAL_VERSION@' '${pkgs.lib.version}' 47 107 48 - preBuild = '' 49 - cp $epubPath epub.xml 50 - make -j$NIX_BUILD_CORES render-md 108 + mkdir -p out/media 109 + 110 + mkdir -p out/highlightjs 111 + cp -t out/highlightjs \ 112 + ${pkgs.documentation-highlighter}/highlight.pack.js \ 113 + ${pkgs.documentation-highlighter}/LICENSE \ 114 + ${pkgs.documentation-highlighter}/mono-blue.css \ 115 + ${pkgs.documentation-highlighter}/loader.js 116 + 117 + cp -t out ./overrides.css ./style.css 118 + 119 + nixos-render-docs manual html \ 120 + --manpage-urls ./manpage-urls.json \ 121 + --revision ${pkgs.lib.trivial.revisionWithDefault (pkgs.rev or "master")} \ 122 + --stylesheet style.css \ 123 + --stylesheet overrides.css \ 124 + --stylesheet highlightjs/mono-blue.css \ 125 + --script ./highlightjs/highlight.pack.js \ 126 + --script ./highlightjs/loader.js \ 127 + --toc-depth 1 \ 128 + --section-toc-depth 1 \ 129 + manual.md \ 130 + out/index.html 51 131 ''; 52 132 53 133 installPhase = '' 54 134 dest="$out/share/doc/nixpkgs" 55 135 mkdir -p "$(dirname "$dest")" 56 - mv out/html "$dest" 136 + mv out "$dest" 57 137 mv "$dest/index.html" "$dest/manual.html" 58 138 59 - mv out/epub/manual.epub "$dest/nixpkgs-manual.epub" 139 + cp ${epub} "$dest/nixpkgs-manual.epub" 60 140 61 141 mkdir -p $out/nix-support/ 62 142 echo "doc manual $dest manual.html" >> $out/nix-support/hydra-build-products 63 143 echo "doc manual $dest nixpkgs-manual.epub" >> $out/nix-support/hydra-build-products 64 144 ''; 65 - 66 - # Environment variables 67 - PANDOC_LUA_FILTERS_DIR = "${pkgs.pandoc-lua-filters}/share/pandoc/filters"; 68 - PANDOC_LINK_MANPAGES_FILTER = import build-aux/pandoc-filters/link-manpages.nix { inherit pkgs; }; 69 145 }
-87
doc/doc-support/default.nix
··· 1 - { pkgs ? (import ../.. {}), nixpkgs ? { }}: 2 - let 3 - inherit (pkgs) lib; 4 - inherit (lib) hasPrefix removePrefix; 5 - 6 - libsets = [ 7 - { name = "asserts"; description = "assertion functions"; } 8 - { name = "attrsets"; description = "attribute set functions"; } 9 - { name = "strings"; description = "string manipulation functions"; } 10 - { name = "versions"; description = "version string functions"; } 11 - { name = "trivial"; description = "miscellaneous functions"; } 12 - { name = "lists"; description = "list manipulation functions"; } 13 - { name = "debug"; description = "debugging functions"; } 14 - { name = "options"; description = "NixOS / nixpkgs option handling"; } 15 - { name = "path"; description = "path functions"; } 16 - { name = "filesystem"; description = "filesystem functions"; } 17 - { name = "sources"; description = "source filtering functions"; } 18 - { name = "cli"; description = "command-line serialization functions"; } 19 - ]; 20 - 21 - locationsXml = import ./lib-function-locations.nix { inherit pkgs nixpkgs libsets; }; 22 - functionDocs = import ./lib-function-docs.nix { inherit locationsXml pkgs libsets; }; 23 - version = pkgs.lib.version; 24 - 25 - epub-xsl = pkgs.writeText "epub.xsl" '' 26 - <?xml version='1.0'?> 27 - <xsl:stylesheet 28 - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 29 - version="1.0"> 30 - <xsl:import href="${pkgs.docbook_xsl_ns}/xml/xsl/docbook/epub/docbook.xsl" /> 31 - <xsl:import href="${./parameters.xml}"/> 32 - </xsl:stylesheet> 33 - ''; 34 - 35 - xhtml-xsl = pkgs.writeText "xhtml.xsl" '' 36 - <?xml version='1.0'?> 37 - <xsl:stylesheet 38 - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 39 - version="1.0"> 40 - <xsl:import href="${pkgs.docbook_xsl_ns}/xml/xsl/docbook/xhtml/docbook.xsl" /> 41 - <xsl:import href="${./parameters.xml}"/> 42 - </xsl:stylesheet> 43 - ''; 44 - 45 - # NB: This file describes the Nixpkgs manual, which happens to use module 46 - # docs infra originally developed for NixOS. 47 - optionsDoc = pkgs.nixosOptionsDoc { 48 - inherit (pkgs.lib.evalModules { 49 - modules = [ ../../pkgs/top-level/config.nix ]; 50 - class = "nixpkgsConfig"; 51 - }) options; 52 - documentType = "none"; 53 - transformOptions = opt: 54 - opt // { 55 - declarations = 56 - map 57 - (decl: 58 - if hasPrefix (toString ../..) (toString decl) 59 - then 60 - let subpath = removePrefix "/" (removePrefix (toString ../..) (toString decl)); 61 - in { url = "https://github.com/NixOS/nixpkgs/blob/master/${subpath}"; name = subpath; } 62 - else decl) 63 - opt.declarations; 64 - }; 65 - }; 66 - 67 - in pkgs.runCommand "doc-support" {} 68 - '' 69 - mkdir result 70 - ( 71 - cd result 72 - ln -s ${locationsXml} ./function-locations.xml 73 - ln -s ${functionDocs} ./function-docs 74 - ln -s ${optionsDoc.optionsDocBook} ./config-options.docbook.xml 75 - 76 - ln -s ${pkgs.docbook5}/xml/rng/docbook/docbook.rng ./docbook.rng 77 - ln -s ${pkgs.docbook_xsl_ns}/xml/xsl ./xsl 78 - ln -s ${epub-xsl} ./epub.xsl 79 - ln -s ${xhtml-xsl} ./xhtml.xsl 80 - 81 - ln -s ${./xmlformat.conf} ./xmlformat.conf 82 - ln -s ${pkgs.documentation-highlighter} ./highlightjs 83 - 84 - echo -n "${version}" > ./version 85 - ) 86 - mv result $out 87 - ''
+13 -11
doc/doc-support/lib-function-docs.nix
··· 1 1 # Generates the documentation for library functions via nixdoc. 2 2 3 - { pkgs, locationsXml, libsets }: 3 + { pkgs, nixpkgs, libsets }: 4 4 5 - with pkgs; stdenv.mkDerivation { 5 + with pkgs; 6 + 7 + let 8 + locationsJSON = import ./lib-function-locations.nix { inherit pkgs nixpkgs libsets; }; 9 + in 10 + stdenv.mkDerivation { 6 11 name = "nixpkgs-lib-docs"; 7 12 src = ../../lib; 8 13 ··· 16 11 function docgen { 17 12 # TODO: wrap lib.$1 in <literal>, make nixdoc not escape it 18 13 if [[ -e "../lib/$1.nix" ]]; then 19 - nixdoc -c "$1" -d "lib.$1: $2" -f "$1.nix" > "$out/$1.xml" 14 + nixdoc -c "$1" -d "lib.$1: $2" -l ${locationsJSON} -f "$1.nix" > "$out/$1.md" 20 15 else 21 - nixdoc -c "$1" -d "lib.$1: $2" -f "$1/default.nix" > "$out/$1.xml" 16 + nixdoc -c "$1" -d "lib.$1: $2" -l ${locationsJSON} -f "$1/default.nix" > "$out/$1.md" 22 17 fi 23 - echo "<xi:include href='$1.xml' />" >> "$out/index.xml" 18 + echo "$out/$1.md" >> "$out/index.md" 24 19 } 25 20 26 21 mkdir -p "$out" 27 22 28 - cat > "$out/index.xml" << 'EOF' 29 - <?xml version="1.0" encoding="utf-8"?> 30 - <root xmlns:xi="http://www.w3.org/2001/XInclude"> 23 + cat > "$out/index.md" << 'EOF' 24 + ```{=include=} sections 31 25 EOF 32 26 33 27 ${lib.concatMapStrings ({ name, description }: '' 34 28 docgen ${name} ${lib.escapeShellArg description} 35 29 '') libsets} 36 30 37 - echo "</root>" >> "$out/index.xml" 38 - 39 - ln -s ${locationsXml} $out/locations.xml 31 + echo '```' >> "$out/index.md" 40 32 ''; 41 33 }
+14 -24
doc/doc-support/lib-function-locations.nix
··· 58 58 [ "-prime" ]; 59 59 60 60 urlPrefix = "https://github.com/NixOS/nixpkgs/blob/${revision}"; 61 - xmlstrings = (nixpkgsLib.strings.concatMapStrings 62 - ({ name, value }: 63 - '' 64 - <section><title>${name}</title> 65 - <para xml:id="${sanitizeId name}"> 66 - Located at 67 - <link 68 - xlink:href="${urlPrefix}/${value.file}#L${builtins.toString value.line}">${value.file}:${builtins.toString value.line}</link> 69 - in <literal>&lt;nixpkgs&gt;</literal>. 70 - </para> 71 - </section> 72 - '') 73 - relativeLocs); 61 + jsonLocs = builtins.listToAttrs 62 + (builtins.map 63 + ({ name, value }: { 64 + name = sanitizeId name; 65 + value = 66 + let 67 + text = "${value.file}:${builtins.toString value.line}"; 68 + target = "${urlPrefix}/${value.file}#L${builtins.toString value.line}"; 69 + in 70 + "[${text}](${target}) in `<nixpkgs>`"; 71 + }) 72 + relativeLocs); 74 73 75 - in pkgs.writeText 76 - "locations.xml" 77 - '' 78 - <section xmlns="http://docbook.org/ns/docbook" 79 - xmlns:xlink="http://www.w3.org/1999/xlink" 80 - version="5"> 81 - <title>All the locations for every lib function</title> 82 - <para>This file is only for inclusion by other files.</para> 83 - ${xmlstrings} 84 - </section> 85 - '' 74 + in 75 + pkgs.writeText "locations.json" (builtins.toJSON jsonLocs)
-19
doc/doc-support/parameters.xml
··· 1 - <?xml version='1.0'?> 2 - <xsl:stylesheet 3 - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 4 - version="1.0"> 5 - <xsl:param name="chapter.autolabel" select="0" /> 6 - <xsl:param name="part.autolabel" select="0" /> 7 - <xsl:param name="preface.autolabel" select="0" /> 8 - <xsl:param name="reference.autolabel" select="0" /> 9 - <xsl:param name="section.autolabel" select="0" /> 10 - <xsl:param name="html.stylesheet" select="'style.css overrides.css highlightjs/mono-blue.css'" /> 11 - <xsl:param name="html.script" select="'./highlightjs/highlight.pack.js ./highlightjs/loader.js'" /> 12 - <xsl:param name="xref.with.number.and.title" select="0" /> 13 - <xsl:param name="use.id.as.filename" select="1" /> 14 - <xsl:param name="generate.section.toc.level" select="1" /> 15 - <xsl:param name="toc.section.depth" select="0" /> 16 - <xsl:param name="admon.style" select="''" /> 17 - <xsl:param name="callout.graphics.extension" select="'.svg'" /> 18 - <xsl:param name="generate.consistent.ids" select="1" /> 19 - </xsl:stylesheet>
-72
doc/doc-support/xmlformat.conf
··· 1 - # 2 - # DocBook Configuration file for "xmlformat" 3 - # see http://www.kitebird.com/software/xmlformat/ 4 - # 10 Sept. 2004 5 - # 6 - 7 - # Only block elements 8 - ackno address appendix article biblioentry bibliography bibliomixed \ 9 - biblioset blockquote book bridgehead callout calloutlist caption caution \ 10 - chapter chapterinfo classsynopsis cmdsynopsis colophon constraintdef \ 11 - constructorsynopsis dedication destructorsynopsis entry epigraph equation example \ 12 - figure formalpara funcsynopsis glossary glossdef glossdiv glossentry glosslist \ 13 - glosssee glossseealso graphic graphicco highlights imageobjectco important \ 14 - index indexdiv indexentry indexinfo info informalequation informalexample \ 15 - informalfigure informaltable legalnotice literallayout lot lotentry mediaobject \ 16 - mediaobjectco msgmain msgset note orderedlist para part preface primaryie \ 17 - procedure qandadiv qandaentry qandaset refentry refentrytitle reference \ 18 - refnamediv refsect1 refsect2 refsect3 refsection revhistory screenshot sect1 \ 19 - sect2 sect3 sect4 sect5 section seglistitem set setindex sidebar simpara \ 20 - simplesect step substeps synopfragment synopsis table term title \ 21 - toc variablelist varlistentry warning itemizedlist listitem \ 22 - footnote colspec partintro row simplelist subtitle tbody tgroup thead tip 23 - format block 24 - normalize no 25 - 26 - 27 - #appendix bibliography chapter glossary preface reference 28 - # element-break 3 29 - 30 - sect1 section 31 - element-break 2 32 - 33 - 34 - # 35 - para abstract 36 - format block 37 - entry-break 1 38 - exit-break 1 39 - normalize yes 40 - 41 - title 42 - format block 43 - normalize = yes 44 - entry-break = 0 45 - exit-break = 0 46 - 47 - # Inline elements 48 - abbrev accel acronym action application citation citebiblioid citerefentry citetitle \ 49 - classname co code command computeroutput constant country database date email emphasis \ 50 - envar errorcode errorname errortext errortype exceptionname fax filename \ 51 - firstname firstterm footnoteref foreignphrase funcdef funcparams function \ 52 - glossterm group guibutton guiicon guilabel guimenu guimenuitem guisubmenu \ 53 - hardware holder honorific indexterm inlineequation inlinegraphic inlinemediaobject \ 54 - interface interfacename \ 55 - keycap keycode keycombo keysym lineage link literal manvolnum markup medialabel \ 56 - menuchoice methodname methodparam modifier mousebutton olink ooclass ooexception \ 57 - oointerface option optional otheraddr othername package paramdef parameter personname \ 58 - phrase pob postcode productname prompt property quote refpurpose replaceable \ 59 - returnvalue revnumber sgmltag state street structfield structname subscript \ 60 - superscript surname symbol systemitem token trademark type ulink userinput \ 61 - uri varargs varname void wordasword xref year mathphrase member tag 62 - format inline 63 - 64 - programlisting screen 65 - format verbatim 66 - entry-break = 0 67 - exit-break = 0 68 - 69 - # This is needed so that the spacing inside those tags is kept. 70 - term cmdsynopsis arg 71 - normalize yes 72 - format block
+11
doc/functions.md
··· 1 + # Functions reference {#chap-functions} 2 + 3 + The nixpkgs repository has several utility functions to manipulate Nix expressions. 4 + 5 + ```{=include=} sections 6 + functions/library.md 7 + functions/generators.section.md 8 + functions/debug.section.md 9 + functions/prefer-remote-fetch.section.md 10 + functions/nix-gitignore.section.md 11 + ```
-14
doc/functions.xml
··· 1 - <chapter xmlns="http://docbook.org/ns/docbook" 2 - xmlns:xlink="http://www.w3.org/1999/xlink" 3 - xmlns:xi="http://www.w3.org/2001/XInclude" 4 - xml:id="chap-functions"> 5 - <title>Functions reference</title> 6 - <para> 7 - The nixpkgs repository has several utility functions to manipulate Nix expressions. 8 - </para> 9 - <xi:include href="functions/library.xml" /> 10 - <xi:include href="functions/generators.section.xml" /> 11 - <xi:include href="functions/debug.section.xml" /> 12 - <xi:include href="functions/prefer-remote-fetch.section.xml" /> 13 - <xi:include href="functions/nix-gitignore.section.xml" /> 14 - </chapter>
+5
doc/functions/library.md.in
··· 1 + # Nixpkgs Library Functions {#sec-functions-library} 2 + 3 + Nixpkgs provides a standard library at `pkgs.lib`, or through `import <nixpkgs/lib>`. 4 + 5 + <!-- nixdoc-generated documentation must be appended here during build! -->
-14
doc/functions/library.xml
··· 1 - <section xmlns="http://docbook.org/ns/docbook" 2 - xmlns:xlink="http://www.w3.org/1999/xlink" 3 - xmlns:xi="http://www.w3.org/2001/XInclude" 4 - xml:id="sec-functions-library"> 5 - <title>Nixpkgs Library Functions</title> 6 - 7 - <para> 8 - Nixpkgs provides a standard library at <varname>pkgs.lib</varname>, or through <code>import &lt;nixpkgs/lib&gt;</code>. 9 - </para> 10 - 11 - <!-- The index must have a root element to declare namespaces, but we 12 - don't want to include it, so we select all of its children. --> 13 - <xi:include href="./library/generated/index.xml" xpointer="xpointer(/root/*)" /> 14 - </section>
+33
doc/hooks/index.md
··· 1 + # Hooks reference {#chap-hooks} 2 + 3 + Nixpkgs has several hook packages that augment the stdenv phases. 4 + 5 + The stdenv built-in hooks are documented in [](#ssec-setup-hooks). 6 + 7 + ```{=include=} sections 8 + autoconf.section.md 9 + automake.section.md 10 + autopatchelf.section.md 11 + breakpoint.section.md 12 + cmake.section.md 13 + gdk-pixbuf.section.md 14 + ghc.section.md 15 + gnome.section.md 16 + installShellFiles.section.md 17 + libiconv.section.md 18 + libxml2.section.md 19 + meson.section.md 20 + ninja.section.md 21 + patch-rc-path-hooks.section.md 22 + perl.section.md 23 + pkg-config.section.md 24 + postgresql-test-hook.section.md 25 + python.section.md 26 + qt-4.section.md 27 + scons.section.md 28 + tetex-tex-live.section.md 29 + unzip.section.md 30 + validatePkgConfig.section.md 31 + waf.section.md 32 + xcbuild.section.md 33 + ```
-37
doc/hooks/index.xml
··· 1 - <chapter xmlns="http://docbook.org/ns/docbook" 2 - xmlns:xlink="http://www.w3.org/1999/xlink" 3 - xmlns:xi="http://www.w3.org/2001/XInclude" 4 - xml:id="chap-hooks"> 5 - <title>Hooks reference</title> 6 - <para> 7 - Nixpkgs has several hook packages that augment the stdenv phases. 8 - </para> 9 - <para> 10 - The stdenv built-in hooks are documented in <xref linkend="ssec-setup-hooks"/>. 11 - </para> 12 - <xi:include href="./autoconf.section.xml" /> 13 - <xi:include href="./automake.section.xml" /> 14 - <xi:include href="./autopatchelf.section.xml" /> 15 - <xi:include href="./breakpoint.section.xml" /> 16 - <xi:include href="./cmake.section.xml" /> 17 - <xi:include href="./gdk-pixbuf.section.xml" /> 18 - <xi:include href="./ghc.section.xml" /> 19 - <xi:include href="./gnome.section.xml" /> 20 - <xi:include href="./installShellFiles.section.xml" /> 21 - <xi:include href="./libiconv.section.xml" /> 22 - <xi:include href="./libxml2.section.xml" /> 23 - <xi:include href="./meson.section.xml" /> 24 - <xi:include href="./ninja.section.xml" /> 25 - <xi:include href="./patch-rc-path-hooks.section.xml" /> 26 - <xi:include href="./perl.section.xml" /> 27 - <xi:include href="./pkg-config.section.xml" /> 28 - <xi:include href="./postgresql-test-hook.section.xml" /> 29 - <xi:include href="./python.section.xml" /> 30 - <xi:include href="./qt-4.section.xml" /> 31 - <xi:include href="./scons.section.xml" /> 32 - <xi:include href="./tetex-tex-live.section.xml" /> 33 - <xi:include href="./unzip.section.xml" /> 34 - <xi:include href="./validatePkgConfig.section.xml" /> 35 - <xi:include href="./waf.section.xml" /> 36 - <xi:include href="./xcbuild.section.xml" /> 37 - </chapter>
+45
doc/languages-frameworks/index.md
··· 1 + # Languages and frameworks {#chap-language-support} 2 + 3 + The [standard build environment](#chap-stdenv) makes it easy to build typical Autotools-based packages with very little code. Any other kind of package can be accommodated by overriding the appropriate phases of `stdenv`. However, there are specialised functions in Nixpkgs to easily build packages for other programming languages, such as Perl or Haskell. These are described in this chapter. 4 + 5 + ```{=include=} sections 6 + agda.section.md 7 + android.section.md 8 + beam.section.md 9 + bower.section.md 10 + chicken.section.md 11 + coq.section.md 12 + crystal.section.md 13 + cuda.section.md 14 + cuelang.section.md 15 + dart.section.md 16 + dhall.section.md 17 + dotnet.section.md 18 + emscripten.section.md 19 + gnome.section.md 20 + go.section.md 21 + haskell.section.md 22 + hy.section.md 23 + idris.section.md 24 + ios.section.md 25 + java.section.md 26 + javascript.section.md 27 + lisp.section.md 28 + lua.section.md 29 + maven.section.md 30 + nim.section.md 31 + ocaml.section.md 32 + octave.section.md 33 + perl.section.md 34 + php.section.md 35 + pkg-config.section.md 36 + python.section.md 37 + qt.section.md 38 + r.section.md 39 + ruby.section.md 40 + rust.section.md 41 + swift.section.md 42 + texlive.section.md 43 + titanium.section.md 44 + vim.section.md 45 + ```
-47
doc/languages-frameworks/index.xml
··· 1 - <chapter xmlns="http://docbook.org/ns/docbook" 2 - xmlns:xi="http://www.w3.org/2001/XInclude" 3 - xml:id="chap-language-support"> 4 - <title>Languages and frameworks</title> 5 - <para> 6 - The <link linkend="chap-stdenv">standard build environment</link> makes it easy to build typical Autotools-based packages with very little code. Any other kind of package can be accommodated by overriding the appropriate phases of <literal>stdenv</literal>. However, there are specialised functions in Nixpkgs to easily build packages for other programming languages, such as Perl or Haskell. These are described in this chapter. 7 - </para> 8 - <xi:include href="agda.section.xml" /> 9 - <xi:include href="android.section.xml" /> 10 - <xi:include href="beam.section.xml" /> 11 - <xi:include href="bower.section.xml" /> 12 - <xi:include href="chicken.section.xml" /> 13 - <xi:include href="coq.section.xml" /> 14 - <xi:include href="crystal.section.xml" /> 15 - <xi:include href="cuda.section.xml" /> 16 - <xi:include href="cuelang.section.xml" /> 17 - <xi:include href="dart.section.xml" /> 18 - <xi:include href="dhall.section.xml" /> 19 - <xi:include href="dotnet.section.xml" /> 20 - <xi:include href="emscripten.section.xml" /> 21 - <xi:include href="gnome.section.xml" /> 22 - <xi:include href="go.section.xml" /> 23 - <xi:include href="haskell.section.xml" /> 24 - <xi:include href="hy.section.xml" /> 25 - <xi:include href="idris.section.xml" /> 26 - <xi:include href="ios.section.xml" /> 27 - <xi:include href="java.section.xml" /> 28 - <xi:include href="javascript.section.xml" /> 29 - <xi:include href="lisp.section.xml" /> 30 - <xi:include href="lua.section.xml" /> 31 - <xi:include href="maven.section.xml" /> 32 - <xi:include href="nim.section.xml" /> 33 - <xi:include href="ocaml.section.xml" /> 34 - <xi:include href="octave.section.xml" /> 35 - <xi:include href="perl.section.xml" /> 36 - <xi:include href="php.section.xml" /> 37 - <xi:include href="pkg-config.section.xml" /> 38 - <xi:include href="python.section.xml" /> 39 - <xi:include href="qt.section.xml" /> 40 - <xi:include href="r.section.xml" /> 41 - <xi:include href="ruby.section.xml" /> 42 - <xi:include href="rust.section.xml" /> 43 - <xi:include href="swift.section.xml" /> 44 - <xi:include href="texlive.section.xml" /> 45 - <xi:include href="titanium.section.xml" /> 46 - <xi:include href="vim.section.xml" /> 47 - </chapter>
+6
doc/lib.md
··· 1 + # Nixpkgs `lib` {#id-1.4} 2 + 3 + ```{=include=} chapters 4 + functions.md 5 + module-system/module-system.chapter.md 6 + ```
+14
doc/manual.md.in
··· 1 + # Nixpkgs Manual {#nixpkgs-manual} 2 + ## Version @MANUAL_VERSION@ 3 + 4 + ```{=include=} chapters 5 + preface.chapter.md 6 + ``` 7 + 8 + ```{=include=} parts 9 + using-nixpkgs.md 10 + lib.md 11 + stdenv.md 12 + builders.md 13 + contributing.md 14 + ```
-49
doc/manual.xml
··· 1 - <book xmlns="http://docbook.org/ns/docbook" 2 - xmlns:xi="http://www.w3.org/2001/XInclude" 3 - xml:id="nixpkgs-manual"> 4 - <info> 5 - <title>Nixpkgs Manual</title> 6 - <subtitle>Version <xi:include href=".version" parse="text" /> 7 - </subtitle> 8 - </info> 9 - <xi:include href="preface.chapter.xml" /> 10 - <part xml:id="part-using"> 11 - <title>Using Nixpkgs</title> 12 - <xi:include href="using/configuration.chapter.xml" /> 13 - <xi:include href="using/overlays.chapter.xml" /> 14 - <xi:include href="using/overrides.chapter.xml" /> 15 - </part> 16 - <part> 17 - <title>Nixpkgs <code>lib</code></title> 18 - <xi:include href="functions.xml" /> 19 - <xi:include href="module-system/module-system.chapter.xml" /> 20 - </part> 21 - <part xml:id="part-stdenv"> 22 - <title>Standard environment</title> 23 - <xi:include href="stdenv/stdenv.chapter.xml" /> 24 - <xi:include href="stdenv/meta.chapter.xml" /> 25 - <xi:include href="stdenv/multiple-output.chapter.xml" /> 26 - <xi:include href="stdenv/cross-compilation.chapter.xml" /> 27 - <xi:include href="stdenv/platform-notes.chapter.xml" /> 28 - </part> 29 - <part xml:id="part-builders"> 30 - <title>Builders</title> 31 - <xi:include href="builders/fetchers.chapter.xml" /> 32 - <xi:include href="builders/trivial-builders.chapter.xml" /> 33 - <xi:include href="builders/testers.chapter.xml" /> 34 - <xi:include href="builders/special.xml" /> 35 - <xi:include href="builders/images.xml" /> 36 - <xi:include href="hooks/index.xml" /> 37 - <xi:include href="languages-frameworks/index.xml" /> 38 - <xi:include href="builders/packages/index.xml" /> 39 - </part> 40 - <part xml:id="part-contributing"> 41 - <title>Contributing to Nixpkgs</title> 42 - <xi:include href="contributing/quick-start.chapter.xml" /> 43 - <xi:include href="contributing/coding-conventions.chapter.xml" /> 44 - <xi:include href="contributing/submitting-changes.chapter.xml" /> 45 - <xi:include href="contributing/vulnerability-roundup.chapter.xml" /> 46 - <xi:include href="contributing/reviewing-contributions.chapter.xml" /> 47 - <xi:include href="contributing/contributing-to-documentation.chapter.xml" /> 48 - </part> 49 - </book>
-3
doc/shell.nix
··· 1 - { pkgs ? import ../. { } }: 2 - (import ./default.nix { }).overrideAttrs 3 - (x: { buildInputs = (x.buildInputs or [ ]) ++ [ pkgs.xmloscopy pkgs.ruby ]; })
+9
doc/stdenv.md
··· 1 + # Standard environment {#part-stdenv} 2 + 3 + ```{=include=} chapters 4 + stdenv/stdenv.chapter.md 5 + stdenv/meta.chapter.md 6 + stdenv/multiple-output.chapter.md 7 + stdenv/cross-compilation.chapter.md 8 + stdenv/platform-notes.chapter.md 9 + ```
+3 -8
doc/stdenv/stdenv.chapter.md
··· 464 464 465 465 If the returned array contains exactly one object (e.g. `[{}]`), all values are optional and will be determined automatically. 466 466 467 - ```{=docbook} 468 - <example> 469 - <title>Standard output of an update script using commit feature</title> 470 - ``` 467 + ::: {.example #var-passthru-updateScript-example-commit} 468 + # Standard output of an update script using commit feature 471 469 472 470 ```json 473 471 [ ··· 479 481 } 480 482 ] 481 483 ``` 482 - 483 - ```{=docbook} 484 - </example> 485 - ``` 484 + ::: 486 485 487 486 ### Recursive attributes in `mkDerivation` {#mkderivation-recursive-attributes} 488 487
+7
doc/using-nixpkgs.md
··· 1 + # Using Nixpkgs {#part-using} 2 + 3 + ```{=include=} chapters 4 + using/configuration.chapter.md 5 + using/overlays.chapter.md 6 + using/overrides.chapter.md 7 + ```
+4 -2
doc/using/configuration.chapter.md
··· 185 185 186 186 The following attributes can be passed in [`config`](#chap-packageconfig). 187 187 188 - ```{=docbook} 189 - <include xmlns="http://www.w3.org/2001/XInclude" href="../doc-support/result/config-options.docbook.xml"/> 188 + ```{=include=} options 189 + id-prefix: opt- 190 + list-id: configuration-variable-list 191 + source: ../config-options.json 190 192 ``` 191 193 192 194
+11
maintainers/maintainer-list.nix
··· 632 632 githubId = 43479487; 633 633 name = "Titouan Biteau"; 634 634 }; 635 + aldoborrero = { 636 + email = "aldoborrero+nixos@pm.me"; 637 + github = "aldoborrero"; 638 + githubId = 82811; 639 + name = "Aldo Borrero"; 640 + }; 635 641 aleksana = { 636 642 email = "me@aleksana.moe"; 637 643 github = "Aleksanaa"; ··· 14954 14948 github = "shyim"; 14955 14949 githubId = 6224096; 14956 14950 name = "Soner Sayakci"; 14951 + }; 14952 + shymega = { 14953 + name = "Dom Rodriguez"; 14954 + github = "shymega"; 14955 + githubId = 1334592; 14957 14956 }; 14958 14957 siddharthist = { 14959 14958 email = "langston.barrett@gmail.com";
+4 -2
pkgs/applications/audio/easyeffects/default.nix
··· 32 32 , wrapGAppsHook4 33 33 , zam-plugins 34 34 , zita-convolver 35 + , soundtouch 35 36 }: 36 37 37 38 stdenv.mkDerivation rec { 38 39 pname = "easyeffects"; 39 - version = "7.0.4"; 40 + version = "7.0.5"; 40 41 41 42 src = fetchFromGitHub { 42 43 owner = "wwmm"; 43 44 repo = "easyeffects"; 44 45 rev = "v${version}"; 45 - hash = "sha256-JaqwzCWVnvFzzGHnmzYwe3occ9iw7s9xCH54eVKEuOs="; 46 + hash = "sha256-Z/0O8dVZ3J901OdOc1wF1XibNE/33b8oSqY6RKPDfzg="; 46 47 }; 47 48 48 49 nativeBuildInputs = [ ··· 74 73 pipewire 75 74 rnnoise 76 75 rubberband 76 + soundtouch 77 77 speexdsp 78 78 tbb 79 79 zita-convolver
+174 -162
pkgs/applications/editors/vim/plugins/generated.nix
··· 125 125 126 126 Ionide-vim = buildVimPluginFrom2Nix { 127 127 pname = "Ionide-vim"; 128 - version = "2023-04-08"; 128 + version = "2023-07-02"; 129 129 src = fetchFromGitHub { 130 130 owner = "ionide"; 131 131 repo = "Ionide-vim"; 132 - rev = "d41ef95b9732109bf6406c5e959492f31f09ce36"; 133 - sha256 = "0dbfq26kgm4yb6837l8x73psflb65pp6a5cmixg4gw5ni9wzal7i"; 132 + rev = "b7ec6803a922b2a8951fd2c33787a45db9d959c1"; 133 + sha256 = "18g2fnq2qsz6y5rl7k8060xwjra9a18zcmmgh4gzfbx9w7vpb0w5"; 134 134 }; 135 135 meta.homepage = "https://github.com/ionide/Ionide-vim/"; 136 136 }; ··· 173 173 174 174 LazyVim = buildVimPluginFrom2Nix { 175 175 pname = "LazyVim"; 176 - version = "2023-06-30"; 176 + version = "2023-07-03"; 177 177 src = fetchFromGitHub { 178 178 owner = "LazyVim"; 179 179 repo = "LazyVim"; 180 - rev = "4ba5086b3d9f9690e8fd7d93102db66173b02638"; 181 - sha256 = "0phfi9chdwzcp3i6fk7zd4vpyn2cjrnmf5hlskdcdb9bin9fpwq3"; 180 + rev = "e5200e6358766f2ba71eb229cb335c4c811902bb"; 181 + sha256 = "14547qzh02168c9gq333mmbm8z6xkkgzzmnamx4nqa5ql0cb75zi"; 182 182 }; 183 183 meta.homepage = "https://github.com/LazyVim/LazyVim/"; 184 184 }; 185 185 186 186 LeaderF = buildVimPluginFrom2Nix { 187 187 pname = "LeaderF"; 188 - version = "2023-06-17"; 188 + version = "2023-07-03"; 189 189 src = fetchFromGitHub { 190 190 owner = "Yggdroot"; 191 191 repo = "LeaderF"; 192 - rev = "fc8f161eb278acda29c87d87175278c2939db3c6"; 193 - sha256 = "15diwcfi5xmzn3y97mbp1yar00lw2lc8imm5gdq6wyx99wdcvc5d"; 192 + rev = "4457231b3dc8fa1ddbcae19a04c0dcf378536fe2"; 193 + sha256 = "1rgcvrv85c6hl6ihi9fzlbf98qc65hkz8s5yd48hk0s8998l8mpa"; 194 194 }; 195 195 meta.homepage = "https://github.com/Yggdroot/LeaderF/"; 196 196 }; ··· 377 377 378 378 SpaceVim = buildVimPluginFrom2Nix { 379 379 pname = "SpaceVim"; 380 - version = "2023-06-28"; 380 + version = "2023-07-03"; 381 381 src = fetchFromGitHub { 382 382 owner = "SpaceVim"; 383 383 repo = "SpaceVim"; 384 - rev = "b462646223dfb8a7b19fb3999edffd4d0dd8aea1"; 385 - sha256 = "0illvadr8wahn0swlqiqhd6r77cafwpmxnr7hlpyzfawqpvqdabw"; 384 + rev = "83cb47789d4e9c69ac0828e2e3e48132900a0ed3"; 385 + sha256 = "1cdysmlnx2cxv6lhs2vakkiw3aj40dpp4cdaf1z693nrss5p82b1"; 386 386 }; 387 387 meta.homepage = "https://github.com/SpaceVim/SpaceVim/"; 388 388 }; ··· 1155 1155 sha256 = "0qg2ia2a0rz8g419dmvyl2djrz3xp6ra01bq5gkpgyj8yrgdmr3v"; 1156 1156 }; 1157 1157 meta.homepage = "https://github.com/akinsho/bufferline.nvim/"; 1158 + }; 1159 + 1160 + bufjump-nvim = buildVimPluginFrom2Nix { 1161 + pname = "bufjump.nvim"; 1162 + version = "2021-12-05"; 1163 + src = fetchFromGitHub { 1164 + owner = "kwkarlwang"; 1165 + repo = "bufjump.nvim"; 1166 + rev = "a020f81bb82f758da51594a07bfcb9635a6b0f73"; 1167 + sha256 = "1a8n466drd9rz2q0h0cpc6xs1djgwshyh8gndx9kqw1n56vsa777"; 1168 + }; 1169 + meta.homepage = "https://github.com/kwkarlwang/bufjump.nvim/"; 1158 1170 }; 1159 1171 1160 1172 bullets-vim = buildVimPluginFrom2Nix { ··· 2287 2275 2288 2276 coq-artifacts = buildVimPluginFrom2Nix { 2289 2277 pname = "coq.artifacts"; 2290 - version = "2023-06-28"; 2278 + version = "2023-07-02"; 2291 2279 src = fetchFromGitHub { 2292 2280 owner = "ms-jpq"; 2293 2281 repo = "coq.artifacts"; 2294 - rev = "864307e4edd1cf8a83ff9b45b1310f9762cfd1de"; 2295 - sha256 = "0kfhgs70ldbrm7mcy7c0fnd4h8jz5sk9whsq0a4hj8inlypyrvm2"; 2282 + rev = "071b03a146b2384ef048751d1ca89b05d011009f"; 2283 + sha256 = "05xbx43d0b5pxqnlx71d368876z70814sq2i89cl72w30455va9h"; 2296 2284 }; 2297 2285 meta.homepage = "https://github.com/ms-jpq/coq.artifacts/"; 2298 2286 }; 2299 2287 2300 2288 coq-thirdparty = buildVimPluginFrom2Nix { 2301 2289 pname = "coq.thirdparty"; 2302 - version = "2023-07-01"; 2290 + version = "2023-07-03"; 2303 2291 src = fetchFromGitHub { 2304 2292 owner = "ms-jpq"; 2305 2293 repo = "coq.thirdparty"; 2306 - rev = "4b252a3eea17b2c69f3fbd1f675c0b4bf55f1961"; 2307 - sha256 = "18r90dx7zlznjkgiqmafppa93jh6ag4bnfq2q88dawrkjya35y2r"; 2294 + rev = "41c459a0b63910518a7ad5ac3935c639aa9906ac"; 2295 + sha256 = "0k1h6sv4rmlifxrflplbjkp77hmwhy1qs7fhw1ks1blpcy5pv5rz"; 2308 2296 }; 2309 2297 meta.homepage = "https://github.com/ms-jpq/coq.thirdparty/"; 2310 2298 }; ··· 2323 2311 2324 2312 coq_nvim = buildVimPluginFrom2Nix { 2325 2313 pname = "coq_nvim"; 2326 - version = "2023-07-01"; 2314 + version = "2023-07-03"; 2327 2315 src = fetchFromGitHub { 2328 2316 owner = "ms-jpq"; 2329 2317 repo = "coq_nvim"; 2330 - rev = "8f8fa1a00360eedc9c57c3dec605907a5b075439"; 2331 - sha256 = "1hr85665fgnhjmkn73xgcyj7h2x45bj8mi228qbsyhzl24ldrh2s"; 2318 + rev = "55b4e01c4ccde358b5686a04e9101334124cbb11"; 2319 + sha256 = "1yj9v31v52np9j7n2c5gf0dm4mxni5qjyivcfjp7cdsfzrhhafbj"; 2332 2320 }; 2333 2321 meta.homepage = "https://github.com/ms-jpq/coq_nvim/"; 2334 2322 }; ··· 2359 2347 2360 2348 crates-nvim = buildVimPluginFrom2Nix { 2361 2349 pname = "crates.nvim"; 2362 - version = "2023-06-21"; 2350 + version = "2023-07-02"; 2363 2351 src = fetchFromGitHub { 2364 2352 owner = "saecki"; 2365 2353 repo = "crates.nvim"; 2366 - rev = "258961973c2cbef5717d4a726c68a0730fb0f94b"; 2367 - sha256 = "0dl6651qvf2cjnkgqxvw0ypffrqblvx0xw0mpymsws07wblml9ac"; 2354 + rev = "4ce7c51b881e58f1e2f8f437f30e4e583cbac319"; 2355 + sha256 = "1j3812in0wr2ssc79gqibf446awlf5j1pv5xp2qpyrp4di79y7va"; 2368 2356 }; 2369 2357 meta.homepage = "https://github.com/saecki/crates.nvim/"; 2370 2358 }; ··· 2587 2575 2588 2576 deol-nvim = buildVimPluginFrom2Nix { 2589 2577 pname = "deol.nvim"; 2590 - version = "2023-06-15"; 2578 + version = "2023-07-03"; 2591 2579 src = fetchFromGitHub { 2592 2580 owner = "Shougo"; 2593 2581 repo = "deol.nvim"; 2594 - rev = "7bdecd220ba28448304b4c67cb09f4cf7382975b"; 2595 - sha256 = "19f4jykbq3a0c7mw4fc1kdh3nac2pylngn7bx9mqcl7b3d46sbyw"; 2582 + rev = "49721ff72998a9e6cd843574dd2487726b3c5a56"; 2583 + sha256 = "07c4xdkrbc2myai7xwx69j5wj2xllr1lqrn3mkwdp3b71lm2j3wh"; 2596 2584 }; 2597 2585 meta.homepage = "https://github.com/Shougo/deol.nvim/"; 2598 2586 }; ··· 2949 2937 2950 2938 dropbar-nvim = buildVimPluginFrom2Nix { 2951 2939 pname = "dropbar.nvim"; 2952 - version = "2023-07-01"; 2940 + version = "2023-07-03"; 2953 2941 src = fetchFromGitHub { 2954 2942 owner = "Bekaboo"; 2955 2943 repo = "dropbar.nvim"; 2956 - rev = "02ec281110859185c3c09203245c3e42b359dfcb"; 2957 - sha256 = "0dhag2z5ghhifdjr4d2ixbxig2fnhh8x18psjyd35rf2c9ifrafj"; 2944 + rev = "19011d96959cd40a7173485ee54202589760caae"; 2945 + sha256 = "0vd5645by8wdqpfh33ap6ln67yg9yailkynz8aaww257xfcifygx"; 2958 2946 }; 2959 2947 meta.homepage = "https://github.com/Bekaboo/dropbar.nvim/"; 2960 2948 }; ··· 2997 2985 2998 2986 edgy-nvim = buildVimPluginFrom2Nix { 2999 2987 pname = "edgy.nvim"; 3000 - version = "2023-06-30"; 2988 + version = "2023-07-01"; 3001 2989 src = fetchFromGitHub { 3002 2990 owner = "folke"; 3003 2991 repo = "edgy.nvim"; 3004 - rev = "422dbda0f3a074475947b2338f06889da6606e32"; 3005 - sha256 = "106cr80l4y0m2ljw11dpgv0di7pkq0yinmhmhbn5pg6bivn025wv"; 2992 + rev = "0d3b64f9159442cf9edcad451a0dd9fb7e31bc41"; 2993 + sha256 = "1w43qilfhacnmqr76lp2fkbawbndas180f5ab7h133rwgr64lc7p"; 3006 2994 }; 3007 2995 meta.homepage = "https://github.com/folke/edgy.nvim/"; 3008 2996 }; ··· 3288 3276 3289 3277 flash-nvim = buildVimPluginFrom2Nix { 3290 3278 pname = "flash.nvim"; 3291 - version = "2023-07-01"; 3279 + version = "2023-07-03"; 3292 3280 src = fetchFromGitHub { 3293 3281 owner = "folke"; 3294 3282 repo = "flash.nvim"; 3295 - rev = "2950466a4f815e3e3297d8e8f03dc6fbf4dbd7c1"; 3296 - sha256 = "0mfd41mf6zjd1a6lid5vhd827rckz31a6qxiz9yvzidg6ndcyb34"; 3283 + rev = "dbe524c3f9faf2fb22d80b6c63bbfa89e171b370"; 3284 + sha256 = "1bj5nyy58yd9dl2b3ds3p60da3m1lh6w2805zp0rv3jqi3s0249x"; 3297 3285 }; 3298 3286 meta.homepage = "https://github.com/folke/flash.nvim/"; 3299 3287 }; ··· 3408 3396 3409 3397 friendly-snippets = buildVimPluginFrom2Nix { 3410 3398 pname = "friendly-snippets"; 3411 - version = "2023-06-28"; 3399 + version = "2023-07-02"; 3412 3400 src = fetchFromGitHub { 3413 3401 owner = "rafamadriz"; 3414 3402 repo = "friendly-snippets"; 3415 - rev = "1723ae01d83f3b3ac1530f1ae22b7b9d5da7749b"; 3416 - sha256 = "1vkdfzyjsjg3j34l7byxsiai9izqcijcdmxm8ynlf54gigihzzpz"; 3403 + rev = "c85153a188b260b908bc35ffedff64810a930b64"; 3404 + sha256 = "038xfax1jxj7svaz54if43sjn86dlj9g162mya0vd810hhl09g2f"; 3417 3405 }; 3418 3406 meta.homepage = "https://github.com/rafamadriz/friendly-snippets/"; 3419 3407 }; ··· 3516 3504 3517 3505 fzf-lua = buildVimPluginFrom2Nix { 3518 3506 pname = "fzf-lua"; 3519 - version = "2023-07-01"; 3507 + version = "2023-07-02"; 3520 3508 src = fetchFromGitHub { 3521 3509 owner = "ibhagwan"; 3522 3510 repo = "fzf-lua"; 3523 - rev = "1b809d167e1b82ac1e9b2c7af2e1abc81d143708"; 3524 - sha256 = "0r278arw3airl1s58xbq2in5yz2fyiiq556ppqi8prcmgpi6cdq1"; 3511 + rev = "546e3eb8012f46eb862bcd021598f5f1df8b82bb"; 3512 + sha256 = "051spw6pgmfda0p9f11mnrzwd0pkh3i5rmshvig9cxnjchrzwari"; 3525 3513 }; 3526 3514 meta.homepage = "https://github.com/ibhagwan/fzf-lua/"; 3527 3515 }; ··· 3576 3564 3577 3565 ghcid = buildVimPluginFrom2Nix { 3578 3566 pname = "ghcid"; 3579 - version = "2023-04-13"; 3567 + version = "2023-07-02"; 3580 3568 src = fetchFromGitHub { 3581 3569 owner = "ndmitchell"; 3582 3570 repo = "ghcid"; 3583 - rev = "e2852979aa644c8fed92d46ab529d2c6c1c62b59"; 3584 - sha256 = "0bsjbb6n7ssg411k2xj4f881v392hvb7xln99bq1r3vkg14mqqsd"; 3571 + rev = "19b0e912da74341993a005aa53a0c57fd2afc800"; 3572 + sha256 = "0vczhvbm62cac3vz9zbxhgimcgyqd5g33mc2sa46f45migcmvikz"; 3585 3573 }; 3586 3574 meta.homepage = "https://github.com/ndmitchell/ghcid/"; 3587 3575 }; ··· 3947 3935 3948 3936 haskell-tools-nvim = buildNeovimPlugin { 3949 3937 pname = "haskell-tools.nvim"; 3950 - version = "2023-06-28"; 3938 + version = "2023-07-02"; 3951 3939 src = fetchFromGitHub { 3952 3940 owner = "MrcJkb"; 3953 3941 repo = "haskell-tools.nvim"; 3954 - rev = "614dc618925d2de9ddec2be06762930a4bc32149"; 3955 - sha256 = "0czwgjvrcdzrxraq7dyan55crcna4ml87g7hfwzkp9zvavv5alig"; 3942 + rev = "415e184f7f534952664db723ca23edc11b149858"; 3943 + sha256 = "1f9yxz1iqp25ks8910wxcl08ncawbzxxsspzmimwxy258zwjmgiv"; 3956 3944 }; 3957 3945 meta.homepage = "https://github.com/MrcJkb/haskell-tools.nvim/"; 3958 3946 }; ··· 4463 4451 4464 4452 julia-vim = buildVimPluginFrom2Nix { 4465 4453 pname = "julia-vim"; 4466 - version = "2022-10-20"; 4454 + version = "2023-07-02"; 4467 4455 src = fetchFromGitHub { 4468 4456 owner = "JuliaEditorSupport"; 4469 4457 repo = "julia-vim"; 4470 - rev = "fca7e3e59e6f9417d3fd77bac50d4b820a3e8bc4"; 4471 - sha256 = "1pby3mx29wh5a0d4zdslkf43prm4f2w1an4qsyfhw2gn7kwmi2lj"; 4458 + rev = "88ebda5043ec13a6e6f0ac20b279dc12ecc10311"; 4459 + sha256 = "1pxi7xi1svwfjxp4mc2jw451cm576bcydxkbw83bxvk9h4zyngwg"; 4472 4460 }; 4473 4461 meta.homepage = "https://github.com/JuliaEditorSupport/julia-vim/"; 4474 4462 }; ··· 4583 4571 4584 4572 lazy-nvim = buildVimPluginFrom2Nix { 4585 4573 pname = "lazy.nvim"; 4586 - version = "2023-06-30"; 4574 + version = "2023-07-01"; 4587 4575 src = fetchFromGitHub { 4588 4576 owner = "folke"; 4589 4577 repo = "lazy.nvim"; 4590 - rev = "d65d5441d997c98be8c261ca8537694c5f4642be"; 4591 - sha256 = "1pd1qxvgxx8l99g3ylnkq139aks2zs87drlbgadb978mfasz28pd"; 4578 + rev = "f8611632d0f9c6818e8eb54f9bcd1dad122b5a7f"; 4579 + sha256 = "1j4478wxn40b5j4hylpppr7ja6fdd9j7yx348ragbn92kj0vllqx"; 4592 4580 }; 4593 4581 meta.homepage = "https://github.com/folke/lazy.nvim/"; 4594 4582 }; ··· 4607 4595 4608 4596 lean-nvim = buildVimPluginFrom2Nix { 4609 4597 pname = "lean.nvim"; 4610 - version = "2023-06-19"; 4598 + version = "2023-07-02"; 4611 4599 src = fetchFromGitHub { 4612 4600 owner = "Julian"; 4613 4601 repo = "lean.nvim"; 4614 - rev = "281ddd46d158adbd93c7113569e1856b0bc49c8a"; 4615 - sha256 = "1rbcvkf7xcwlvvhgs6yfqvnzb9an5jh2gvi9z272282l0g9j9n6r"; 4602 + rev = "e62fdff55e0668eb33cd5d9e40a50048a5622c7b"; 4603 + sha256 = "0wj8jws7q1f2n9pya83frq29yadbm552br4wzfjk3a2z51s5rkhc"; 4616 4604 }; 4617 4605 meta.homepage = "https://github.com/Julian/lean.nvim/"; 4618 4606 }; ··· 4643 4631 4644 4632 leap-nvim = buildVimPluginFrom2Nix { 4645 4633 pname = "leap.nvim"; 4646 - version = "2023-06-28"; 4634 + version = "2023-07-02"; 4647 4635 src = fetchFromGitHub { 4648 4636 owner = "ggandor"; 4649 4637 repo = "leap.nvim"; 4650 - rev = "f41de5c1cfeb146e4b8c5ed20e5b32230457ff25"; 4651 - sha256 = "0wga34195dg19x4y01mhs2pipxlkmhdlzjhp6qybwd860d696hhi"; 4638 + rev = "aadf42e0ab97b38715e6233f253cd571dd3bb96c"; 4639 + sha256 = "0454wh5fdrx0k2y53sshh9f98ar5f1cfslsz7rqp3c0kpwczs2k5"; 4652 4640 }; 4653 4641 meta.homepage = "https://github.com/ggandor/leap.nvim/"; 4654 4642 }; ··· 5135 5123 5136 5124 lush-nvim = buildNeovimPlugin { 5137 5125 pname = "lush.nvim"; 5138 - version = "2023-06-17"; 5126 + version = "2023-07-03"; 5139 5127 src = fetchFromGitHub { 5140 5128 owner = "rktjmp"; 5141 5129 repo = "lush.nvim"; 5142 - rev = "789a2fbd98f3572f315958a0e8a711eb88d360d8"; 5143 - sha256 = "03pqcm49c5g51ldmimbwh0yvcbbb1c6g6vwnmqn2aix0g2cxc11b"; 5130 + rev = "b10ef2bfff0647e701b691019ade3edd5e44eb50"; 5131 + sha256 = "13apg02ng37x1j5n6n4nhrp22bsmwb6hgf623wsrqx5qll4fnn6i"; 5144 5132 }; 5145 5133 meta.homepage = "https://github.com/rktjmp/lush.nvim/"; 5146 5134 }; ··· 5315 5303 5316 5304 mini-nvim = buildVimPluginFrom2Nix { 5317 5305 pname = "mini.nvim"; 5318 - version = "2023-06-29"; 5306 + version = "2023-07-03"; 5319 5307 src = fetchFromGitHub { 5320 5308 owner = "echasnovski"; 5321 5309 repo = "mini.nvim"; 5322 - rev = "4fd0f9c72fb54696442c81a64c71514c95239148"; 5323 - sha256 = "1x97jrh3pr1gsl2rlzl9x8lcgbj4lkq11v873mk2dh81rvw0a4d0"; 5310 + rev = "bb8ef7cfaf7b0c4492836f318df0b61e92ea3de1"; 5311 + sha256 = "1s3lnbjz3rgrplpyc6f7a67ahcql34hy6v5z6qjh18gb2r449sfk"; 5324 5312 }; 5325 5313 meta.homepage = "https://github.com/echasnovski/mini.nvim/"; 5326 5314 }; ··· 5723 5711 5724 5712 neoformat = buildVimPluginFrom2Nix { 5725 5713 pname = "neoformat"; 5726 - version = "2023-06-29"; 5714 + version = "2023-07-01"; 5727 5715 src = fetchFromGitHub { 5728 5716 owner = "sbdchd"; 5729 5717 repo = "neoformat"; 5730 - rev = "1dd282cd64f03418ef9cc345a12ca82b8dcf6e73"; 5731 - sha256 = "0sly3hspfia8hpgdqq2dc6lylc5qbil3cxmlph27j3yy01yl1f52"; 5718 + rev = "b35ae45f9425c817126be4cc946a950c1cffe6fa"; 5719 + sha256 = "1qcrladfl3zvci58aiv4w6bq6dc8ibfjgp95l4q10bx8gjkdipkq"; 5732 5720 }; 5733 5721 meta.homepage = "https://github.com/sbdchd/neoformat/"; 5734 5722 }; ··· 5747 5735 5748 5736 neogit = buildVimPluginFrom2Nix { 5749 5737 pname = "neogit"; 5750 - version = "2023-06-09"; 5738 + version = "2023-07-03"; 5751 5739 src = fetchFromGitHub { 5752 - owner = "TimUntersberger"; 5740 + owner = "NeogitOrg"; 5753 5741 repo = "neogit"; 5754 - rev = "68a3e90e9d1ed9e362317817851d0f34b19e426b"; 5755 - sha256 = "06ffj2hb6d4d3fhybkywszxb7skx6wkrd95syz7a3p91ly07a9ss"; 5742 + rev = "497f65529a8f3ebc0fa17cc12d678e2600a9f4fb"; 5743 + sha256 = "1rzalck1z8i0h08dfj86llaghyca5qlkprxivqyc1y0akipia1k1"; 5756 5744 }; 5757 - meta.homepage = "https://github.com/TimUntersberger/neogit/"; 5745 + meta.homepage = "https://github.com/NeogitOrg/neogit/"; 5758 5746 }; 5759 5747 5760 5748 neoinclude-vim = buildVimPluginFrom2Nix { ··· 5939 5927 5940 5928 neotest-go = buildVimPluginFrom2Nix { 5941 5929 pname = "neotest-go"; 5942 - version = "2023-05-11"; 5930 + version = "2023-07-01"; 5943 5931 src = fetchFromGitHub { 5944 5932 owner = "nvim-neotest"; 5945 5933 repo = "neotest-go"; 5946 - rev = "4e7a87967e45f2b357fd546b0b7877774191772e"; 5947 - sha256 = "1k3dck55dyglqvrsf1bwmh9fqzvirq5m8m9m9w5f3nxbxq6abdn6"; 5934 + rev = "05535cb2cfe3ce5c960f65784896d40109572f89"; 5935 + sha256 = "0mg1cacs6hd2f0pgrggd94f88yaq99ic9xw3a3hiyywcx7apkz94"; 5948 5936 }; 5949 5937 meta.homepage = "https://github.com/nvim-neotest/neotest-go/"; 5950 5938 }; 5951 5939 5952 5940 neotest-haskell = buildVimPluginFrom2Nix { 5953 5941 pname = "neotest-haskell"; 5954 - version = "2023-06-25"; 5942 + version = "2023-07-02"; 5955 5943 src = fetchFromGitHub { 5956 5944 owner = "MrcJkb"; 5957 5945 repo = "neotest-haskell"; 5958 - rev = "9596de6ff2e6b94cc7a6f48b2a8caeb9a1327067"; 5959 - sha256 = "0vyf9p3jc0s44vkhpzrk9lk48pj0ys4j0dxnisj6i9idc46z1n74"; 5946 + rev = "3dd8e3d96bb4b793525ea3d26ca231fc005bd1bd"; 5947 + sha256 = "0flq4rk54cn5kvfzwwxd1zq73dr75pqpb2x4p7ch2pxhppm5qx64"; 5960 5948 }; 5961 5949 meta.homepage = "https://github.com/MrcJkb/neotest-haskell/"; 5962 5950 }; ··· 6035 6023 6036 6024 neotest-rust = buildVimPluginFrom2Nix { 6037 6025 pname = "neotest-rust"; 6038 - version = "2023-06-28"; 6026 + version = "2023-07-01"; 6039 6027 src = fetchFromGitHub { 6040 6028 owner = "rouge8"; 6041 6029 repo = "neotest-rust"; 6042 - rev = "e9015a5e343dc47dac90dc74effb3dd11ff7d2ae"; 6043 - sha256 = "0aix8phfsyb7hsyqxg6f8nfzhhpy7vzk2if3g8n0dzq1krmm6dk3"; 6030 + rev = "6dce8963e5395adf079bf22e931dfce65d3fed25"; 6031 + sha256 = "0mg71ha951di5srw6g6whdpjjmbqrg47n2d5ana2q9svqmgrd0cc"; 6044 6032 }; 6045 6033 meta.homepage = "https://github.com/rouge8/neotest-rust/"; 6046 6034 }; ··· 6299 6287 6300 6288 noice-nvim = buildVimPluginFrom2Nix { 6301 6289 pname = "noice.nvim"; 6302 - version = "2023-06-30"; 6290 + version = "2023-07-01"; 6303 6291 src = fetchFromGitHub { 6304 6292 owner = "folke"; 6305 6293 repo = "noice.nvim"; 6306 - rev = "2cb37edea88b7baa45324ac7b791f1f1b4e48316"; 6307 - sha256 = "0xi78d2px2fx4ihnhbaqwpd8awicy6m5dfrcfdg77wra88xl65r9"; 6294 + rev = "6c87c1d11c38180fb72bf8f45518a0a3e081afc1"; 6295 + sha256 = "0y0fwll3a421r0px9x2d8mq2nj00w6ahilwmrvmhvnazjgqd074j"; 6308 6296 }; 6309 6297 meta.homepage = "https://github.com/folke/noice.nvim/"; 6310 6298 }; ··· 6395 6383 6396 6384 nvchad = buildVimPluginFrom2Nix { 6397 6385 pname = "nvchad"; 6398 - version = "2023-06-28"; 6386 + version = "2023-07-02"; 6399 6387 src = fetchFromGitHub { 6400 6388 owner = "nvchad"; 6401 6389 repo = "nvchad"; 6402 - rev = "10b668d98aba6bce9b494d028174207e59e5c59a"; 6403 - sha256 = "1yn01dfix232q2hlmbki9x446qbawa3dkiczg7hn270vvpipgspn"; 6390 + rev = "83aac1ecc0c84726d3aace3ed97d7001add4694b"; 6391 + sha256 = "1rd93qik41hqrgrc40b3g2jkgad1pkknic17ffpz933ps0ljz8xl"; 6404 6392 }; 6405 6393 meta.homepage = "https://github.com/nvchad/nvchad/"; 6406 6394 }; ··· 6539 6527 6540 6528 nvim-cokeline = buildVimPluginFrom2Nix { 6541 6529 pname = "nvim-cokeline"; 6542 - version = "2023-07-01"; 6530 + version = "2023-07-02"; 6543 6531 src = fetchFromGitHub { 6544 6532 owner = "willothy"; 6545 6533 repo = "nvim-cokeline"; 6546 - rev = "bd34d316a3b4787802cb2a524d9b9d33008726b9"; 6547 - sha256 = "08kvr5891x87vhpqr2r1mn3nn0k5pyxj7g52ldzdlzdfzhdx2wwl"; 6534 + rev = "a7efa64386467114e386a0f19f4a6086a5650010"; 6535 + sha256 = "1iym9h92n6rhaapdvkrkgz9xmwr3rx5mmcicyrfbs0x5k1l3ka01"; 6548 6536 }; 6549 6537 meta.homepage = "https://github.com/willothy/nvim-cokeline/"; 6550 6538 }; ··· 6731 6719 6732 6720 nvim-gdb = buildVimPluginFrom2Nix { 6733 6721 pname = "nvim-gdb"; 6734 - version = "2023-06-18"; 6722 + version = "2023-07-03"; 6735 6723 src = fetchFromGitHub { 6736 6724 owner = "sakhnik"; 6737 6725 repo = "nvim-gdb"; 6738 - rev = "c849cda1dbe149f7aa27400a623fd35e5fced990"; 6739 - sha256 = "0q1scl35636agiwv0dpghs6w57kv95j61na789wkjw2vqs2qw18r"; 6726 + rev = "f69f3dcd1ebdcb39af156ee3833c5d6b9777eb31"; 6727 + sha256 = "15nv26nfxykg5jnqkbl4kq9rfa6lba687i8m31ir8hkgg9n57g43"; 6740 6728 }; 6741 6729 meta.homepage = "https://github.com/sakhnik/nvim-gdb/"; 6742 6730 }; ··· 6755 6743 6756 6744 nvim-highlight-colors = buildVimPluginFrom2Nix { 6757 6745 pname = "nvim-highlight-colors"; 6758 - version = "2023-04-15"; 6746 + version = "2023-07-01"; 6759 6747 src = fetchFromGitHub { 6760 6748 owner = "brenoprata10"; 6761 6749 repo = "nvim-highlight-colors"; 6762 - rev = "8d7e7fe540b404ec06a248d6e5797eaf3362420c"; 6763 - sha256 = "1saabc855b0pqhfvhph9lgir090126f1nh4hpv57d44fn8n0cwgh"; 6750 + rev = "60ee461c30953d2d1dc3895d01af995b24cc6788"; 6751 + sha256 = "09ikihpskymbawk5l4n4xc25dhmhywiwlsklimcwhj2bs4vngpa4"; 6764 6752 }; 6765 6753 meta.homepage = "https://github.com/brenoprata10/nvim-highlight-colors/"; 6766 6754 }; ··· 7151 7139 7152 7140 nvim-spectre = buildVimPluginFrom2Nix { 7153 7141 pname = "nvim-spectre"; 7154 - version = "2023-06-30"; 7142 + version = "2023-07-01"; 7155 7143 src = fetchFromGitHub { 7156 7144 owner = "nvim-pack"; 7157 7145 repo = "nvim-spectre"; 7158 - rev = "6e9dfd6f0ad24074ba03fe420b2b5c59075bc205"; 7159 - sha256 = "1nm707d9gixqd739jqr201jk7qdw7kshkvvkgldrrwg4wv0gfig4"; 7146 + rev = "dc3f0bd41e09148924ef04a4746cb708539d08db"; 7147 + sha256 = "1zhb6hh6bqigil26x74s426a7ymfndflm2abw6wpfzmdqd7zaf0l"; 7160 7148 }; 7161 7149 meta.homepage = "https://github.com/nvim-pack/nvim-spectre/"; 7162 7150 }; ··· 7223 7211 7224 7212 nvim-tree-lua = buildVimPluginFrom2Nix { 7225 7213 pname = "nvim-tree.lua"; 7226 - version = "2023-07-01"; 7214 + version = "2023-07-02"; 7227 7215 src = fetchFromGitHub { 7228 7216 owner = "nvim-tree"; 7229 7217 repo = "nvim-tree.lua"; 7230 - rev = "1fe32286db79719dd6e52236f82c5b52df3ccaa9"; 7231 - sha256 = "130zccj9ydfgcjcljhcpm6cpf5yn7qadb6qril3070i5kzh0gp9i"; 7218 + rev = "4af572246ce49883e2a52c49203a19984454f2e0"; 7219 + sha256 = "1z7n13qrd2i53m8ysgm5x880gzwk0wd9kpf3nbqax6xc45n6r33k"; 7232 7220 }; 7233 7221 meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/"; 7234 7222 }; 7235 7223 7236 7224 nvim-treesitter = buildVimPluginFrom2Nix { 7237 7225 pname = "nvim-treesitter"; 7238 - version = "2023-06-30"; 7226 + version = "2023-07-03"; 7239 7227 src = fetchFromGitHub { 7240 7228 owner = "nvim-treesitter"; 7241 7229 repo = "nvim-treesitter"; 7242 - rev = "393bc5bec591caeedb0a4c696d15946c5d6c2de8"; 7243 - sha256 = "0nl5vn7i5qaxnsdf1vycfn6f761kgbplin0pgdxf0fg75w3pnm0v"; 7230 + rev = "c42a8f96d37be82cf32934c4351150d7736f93f5"; 7231 + sha256 = "0zk7zs6w941adjq8dcn0z3ashnf30nqixy4ga6pydsqy4bqswi0r"; 7244 7232 }; 7245 7233 meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/"; 7246 7234 }; ··· 7956 7944 7957 7945 python-mode = buildVimPluginFrom2Nix { 7958 7946 pname = "python-mode"; 7959 - version = "2023-06-28"; 7947 + version = "2023-07-03"; 7960 7948 src = fetchFromGitHub { 7961 7949 owner = "python-mode"; 7962 7950 repo = "python-mode"; 7963 - rev = "c86c4dbf5276c5950f4651c021ff05e9296aff37"; 7964 - sha256 = "1vw3ga1v8pykl9cmgb690l8b5wadpvym329v2ccgayby73jb9812"; 7951 + rev = "57384b9f278ed1c2b402fe48aad05781882561f1"; 7952 + sha256 = "1y30inljvpjrq1yphfjv1x2f0m5bn6gbqg69f3b51fs53sqaswi8"; 7965 7953 fetchSubmodules = true; 7966 7954 }; 7967 7955 meta.homepage = "https://github.com/python-mode/python-mode/"; ··· 8498 8486 8499 8487 slimv = buildVimPluginFrom2Nix { 8500 8488 pname = "slimv"; 8501 - version = "2023-05-13"; 8489 + version = "2023-07-01"; 8502 8490 src = fetchFromGitHub { 8503 8491 owner = "kovisoft"; 8504 8492 repo = "slimv"; 8505 - rev = "4a7ee2d82adfdb2334709dfc2e9b2ae63216e725"; 8506 - sha256 = "1x9l80f84fvvq2g7flacnqs1pk91nilhi9lnzgvp67r12glqkq99"; 8493 + rev = "f4775f044cbb28ff4a444143cd2e6712b3694f21"; 8494 + sha256 = "1k67h7i07xab8f5a0qn0psrmj1xbm42w03gh5kmal8ay3maqvscd"; 8507 8495 }; 8508 8496 meta.homepage = "https://github.com/kovisoft/slimv/"; 8509 8497 }; ··· 8835 8823 8836 8824 substitute-nvim = buildVimPluginFrom2Nix { 8837 8825 pname = "substitute.nvim"; 8838 - version = "2023-05-16"; 8826 + version = "2023-07-03"; 8839 8827 src = fetchFromGitHub { 8840 8828 owner = "gbprod"; 8841 8829 repo = "substitute.nvim"; 8842 - rev = "46a78e02b5b009d22df7566cbc25f4ef565c5731"; 8843 - sha256 = "1k4rmrkl2ggsrp1c2r846g98kz8my8snzi5yk825is839acs517l"; 8830 + rev = "7412aa56dedc3f507cddb02167a939e55b39a2cd"; 8831 + sha256 = "17pjl4sl62myfar9xv2axghyj0dfllzr611qzh14a2kgf1x326n6"; 8844 8832 }; 8845 8833 meta.homepage = "https://github.com/gbprod/substitute.nvim/"; 8846 8834 }; ··· 9173 9161 9174 9162 telescope-file-browser-nvim = buildVimPluginFrom2Nix { 9175 9163 pname = "telescope-file-browser.nvim"; 9176 - version = "2023-06-30"; 9164 + version = "2023-07-01"; 9177 9165 src = fetchFromGitHub { 9178 9166 owner = "nvim-telescope"; 9179 9167 repo = "telescope-file-browser.nvim"; 9180 - rev = "721f716f7392284ded78b4867fa67cf4b0605945"; 9181 - sha256 = "05b383yl68mzjk149y3s5ncclml4rn9xxqsqy1by1f8x1f215x1n"; 9168 + rev = "e03ff55962417b69c85ef41424079bb0580546ba"; 9169 + sha256 = "1agwrhwb6w0qpcgcmffibnip61g6dqjzmchngb1a9fwxqvzrgfll"; 9182 9170 }; 9183 9171 meta.homepage = "https://github.com/nvim-telescope/telescope-file-browser.nvim/"; 9184 9172 }; ··· 9403 9391 9404 9392 telescope-nvim = buildNeovimPlugin { 9405 9393 pname = "telescope.nvim"; 9406 - version = "2023-06-30"; 9394 + version = "2023-07-02"; 9407 9395 src = fetchFromGitHub { 9408 9396 owner = "nvim-telescope"; 9409 9397 repo = "telescope.nvim"; 9410 - rev = "c5b11f4fe780f4acd6ed0d58575d3cb7af3e893a"; 9411 - sha256 = "11ccs7vvaa20i1lnqswqmch5sxgswwg6w4s1x5syzy9yzknxfbrk"; 9398 + rev = "0e0600908d1ad5ac4992fa0ab578e23e9d9d6f37"; 9399 + sha256 = "0nf1pc84mk6cncb120j6dwcynkbxf2s6crji30aq99zs92n3wi0w"; 9412 9400 }; 9413 9401 meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/"; 9414 9402 }; ··· 9668 9656 9669 9657 tokyonight-nvim = buildVimPluginFrom2Nix { 9670 9658 pname = "tokyonight.nvim"; 9671 - version = "2023-06-24"; 9659 + version = "2023-07-01"; 9672 9660 src = fetchFromGitHub { 9673 9661 owner = "folke"; 9674 9662 repo = "tokyonight.nvim"; 9675 - rev = "fd0a005fd8986ec0d98a1938dc570303e8d8444b"; 9676 - sha256 = "18y7s1hkkgzv0lkvz53bcpps65i42ma6v3gfy01pnpxhrxgxmb3p"; 9663 + rev = "d785293494c59ce0940c00b8b044fc672d2902b1"; 9664 + sha256 = "0mgiplv49yrr686fj8qh619sk9szsq8slcf556b8zw9d7m945m3i"; 9677 9665 }; 9678 9666 meta.homepage = "https://github.com/folke/tokyonight.nvim/"; 9679 9667 }; ··· 9824 9812 9825 9813 typst-vim = buildVimPluginFrom2Nix { 9826 9814 pname = "typst.vim"; 9827 - version = "2023-06-27"; 9815 + version = "2023-07-02"; 9828 9816 src = fetchFromGitHub { 9829 9817 owner = "kaarmu"; 9830 9818 repo = "typst.vim"; 9831 - rev = "d1e598dadf4d52bf33b52c7e5f1861227906a15c"; 9832 - sha256 = "07xaibd3rx65i5d2g3i5z1ix6m66pm8lnq3ci3q4xsycw34rb43h"; 9819 + rev = "5c1a933d6e8178d8d2596165b1709a7605b26d11"; 9820 + sha256 = "0pm56qlrj27y8krcjyiw17mpfb3ggl1898zj41fdb8zbhj36mj18"; 9833 9821 }; 9834 9822 meta.homepage = "https://github.com/kaarmu/typst.vim/"; 9835 9823 }; ··· 9872 9860 9873 9861 unison = buildVimPluginFrom2Nix { 9874 9862 pname = "unison"; 9875 - version = "2023-07-01"; 9863 + version = "2023-07-03"; 9876 9864 src = fetchFromGitHub { 9877 9865 owner = "unisonweb"; 9878 9866 repo = "unison"; 9879 - rev = "943149be2094f2396f9575e932a74156f228602a"; 9880 - sha256 = "1w29dpc9kj1g0ryhqikagmvbip0dxvfwkh160y33a3q9v0d7zg3n"; 9867 + rev = "4024c22af3fbda69089c1adf9a1516ad8a2205df"; 9868 + sha256 = "1fzndfrjiks08cdsm6cb6w4avpmsldjprw1d0lzn69dgm3ll3526"; 9881 9869 }; 9882 9870 meta.homepage = "https://github.com/unisonweb/unison/"; 9883 9871 }; ··· 9968 9956 9969 9957 vifm-vim = buildVimPluginFrom2Nix { 9970 9958 pname = "vifm.vim"; 9971 - version = "2023-06-25"; 9959 + version = "2023-07-01"; 9972 9960 src = fetchFromGitHub { 9973 9961 owner = "vifm"; 9974 9962 repo = "vifm.vim"; 9975 - rev = "f52001f835f0c334bfee4c38534320c1c546b0d8"; 9976 - sha256 = "1sjajazx1l3k1gwdm4b3n418s9dxl60ai0jachi3z29z6av9yjf1"; 9963 + rev = "785b593457fbf2ca64719fc2c97c026f15ebee58"; 9964 + sha256 = "0qi99rb0rxak9jxv9j17lj44va85kjraq5jbdrbfza4060adipij"; 9977 9965 }; 9978 9966 meta.homepage = "https://github.com/vifm/vifm.vim/"; 9979 9967 }; ··· 10861 10849 owner = "flazz"; 10862 10850 repo = "vim-colorschemes"; 10863 10851 rev = "fd8f122cef604330c96a6a6e434682dbdfb878c9"; 10864 - sha256 = "1cg8q7w0vgl73aw1b9zz0zh5vw5d2pm8pm54fhfzva4azg56f416"; 10852 + sha256 = "0kpsf6j20fgblc8vhqn7ymr52v2d1h52vc7rbxmxfwdm80nvv3g5"; 10865 10853 }; 10866 10854 meta.homepage = "https://github.com/flazz/vim-colorschemes/"; 10867 10855 }; ··· 12286 12274 12287 12275 vim-just = buildVimPluginFrom2Nix { 12288 12276 pname = "vim-just"; 12289 - version = "2023-04-21"; 12277 + version = "2023-07-03"; 12290 12278 src = fetchFromGitHub { 12291 12279 owner = "NoahTheDuke"; 12292 12280 repo = "vim-just"; 12293 - rev = "9fc9a1afaa9e3567b25f4141a01f6172a1992a0b"; 12294 - sha256 = "0wjrqjb0vwp5pk4q2xyrachx9974lxnync1lj40778v5wlsc4w9v"; 12281 + rev = "f3f03c7ab7e1bf9555704a9d6bc11c6ba621c373"; 12282 + sha256 = "1x2fsy8dw37s6crlirad30d2z48b4wma3405y4jfw149pzkb19bi"; 12295 12283 }; 12296 12284 meta.homepage = "https://github.com/NoahTheDuke/vim-just/"; 12297 12285 }; ··· 13103 13091 13104 13092 vim-oscyank = buildVimPluginFrom2Nix { 13105 13093 pname = "vim-oscyank"; 13106 - version = "2023-05-25"; 13094 + version = "2023-07-01"; 13107 13095 src = fetchFromGitHub { 13108 13096 owner = "ojroques"; 13109 13097 repo = "vim-oscyank"; 13110 - rev = "5947a6c6727841b989ac41758f99af154fa5d801"; 13111 - sha256 = "0yl66imi0hbxh2rjvkx0ffzs5j66rcpialfaady4rcc5sl0a8170"; 13098 + rev = "74f5ed963d6dc9dc25db212078300fca6b0a0b4d"; 13099 + sha256 = "1j3dyalzy73sckad175y81sifnv65vyhlysxjllbaikafgc0k2sm"; 13112 13100 }; 13113 13101 meta.homepage = "https://github.com/ojroques/vim-oscyank/"; 13114 13102 }; ··· 14592 14580 14593 14581 vim-vsnip-integ = buildVimPluginFrom2Nix { 14594 14582 pname = "vim-vsnip-integ"; 14595 - version = "2023-06-25"; 14583 + version = "2023-07-01"; 14596 14584 src = fetchFromGitHub { 14597 14585 owner = "hrsh7th"; 14598 14586 repo = "vim-vsnip-integ"; 14599 - rev = "04051c1e1af146abfce153cd4a0161817f06e10d"; 14600 - sha256 = "0z2095qmlpnl2g4x6gmknnwnsf1pni91vd9m8ckiya7hmn5zh7rf"; 14587 + rev = "1914e72cf3de70df7f5dde476cd299aba2440aef"; 14588 + sha256 = "0jqnzvvhlvwrqbxk70j1z7qx5hgzqjnv0hp8rzs9sfbv3wkgq12q"; 14601 14589 }; 14602 14590 meta.homepage = "https://github.com/hrsh7th/vim-vsnip-integ/"; 14603 14591 }; ··· 14772 14760 14773 14761 vim-zettel = buildVimPluginFrom2Nix { 14774 14762 pname = "vim-zettel"; 14775 - version = "2022-12-22"; 14763 + version = "2023-07-02"; 14776 14764 src = fetchFromGitHub { 14777 14765 owner = "michal-h21"; 14778 14766 repo = "vim-zettel"; 14779 - rev = "7bd110f8d370c1beb812b30af82336556fa44096"; 14780 - sha256 = "04r72b7vwbb5m7ik8lczknpl8qpfar3lhzj7plhzpq1sbqyj4kpm"; 14767 + rev = "2b10ccce4ff9e55e702ee118dc60bf12d7921697"; 14768 + sha256 = "0w8k802y0md0b5nz6fw38lghv2s7sdwvvkrqirgzbmrhchl90960"; 14781 14769 }; 14782 14770 meta.homepage = "https://github.com/michal-h21/vim-zettel/"; 14783 14771 }; ··· 14953 14941 14954 14942 vimtex = buildVimPluginFrom2Nix { 14955 14943 pname = "vimtex"; 14956 - version = "2023-06-26"; 14944 + version = "2023-07-03"; 14957 14945 src = fetchFromGitHub { 14958 14946 owner = "lervag"; 14959 14947 repo = "vimtex"; 14960 - rev = "b38bbcab7ab05067ce460e2d9e69c896fea7ebe0"; 14961 - sha256 = "1bqh93z5fjrv3nb80s5k6wnl5wbrf5a30l88382cix9l3syz4fqr"; 14948 + rev = "91fbb48c0b850684a082801138dddc941a427d38"; 14949 + sha256 = "1mh5fzc08bjpkhcwj83xpgiw9vr9087zpaspz8xj6mbaac0g7jki"; 14962 14950 }; 14963 14951 meta.homepage = "https://github.com/lervag/vimtex/"; 14964 14952 }; ··· 15109 15097 15110 15098 wiki-vim = buildVimPluginFrom2Nix { 15111 15099 pname = "wiki.vim"; 15112 - version = "2023-06-21"; 15100 + version = "2023-07-03"; 15113 15101 src = fetchFromGitHub { 15114 15102 owner = "lervag"; 15115 15103 repo = "wiki.vim"; 15116 - rev = "c8ed0931bebce817a97a4dd0963066781b30462a"; 15117 - sha256 = "0iflfly5wwhvk3xp2ndbsiimidk0djnjkcw1a43659qi8kgba18f"; 15104 + rev = "ee3f7b63b29f98061782b336bd6cd1b4589f11c8"; 15105 + sha256 = "1c0ihkfqf5h8i22gy2q4d2g9hcvfg1jzvnmfw6aqbbvwlcg8242q"; 15118 15106 }; 15119 15107 meta.homepage = "https://github.com/lervag/wiki.vim/"; 15120 15108 }; ··· 15265 15253 15266 15254 yats-vim = buildVimPluginFrom2Nix { 15267 15255 pname = "yats.vim"; 15268 - version = "2023-06-09"; 15256 + version = "2023-07-03"; 15269 15257 src = fetchFromGitHub { 15270 15258 owner = "HerringtonDarkholme"; 15271 15259 repo = "yats.vim"; 15272 - rev = "d3687891bdd333de4d831b6c7859e15d9ed3c4b2"; 15273 - sha256 = "1b6383ihh3bya7gxyfj7b74qbm4sq33zyzhpicqlqcnaf5bml7nl"; 15260 + rev = "e641184ea9a21ae6415eb807ea06dd50ffb02090"; 15261 + sha256 = "0dv2zcqkrjy24f0820gpakpb37pmi8k93xn2dxfvfxv1zjng2zh0"; 15274 15262 fetchSubmodules = true; 15275 15263 }; 15276 15264 meta.homepage = "https://github.com/HerringtonDarkholme/yats.vim/"; ··· 15314 15302 15315 15303 zenbones-nvim = buildVimPluginFrom2Nix { 15316 15304 pname = "zenbones.nvim"; 15317 - version = "2023-06-27"; 15305 + version = "2023-07-02"; 15318 15306 src = fetchFromGitHub { 15319 15307 owner = "mcchrish"; 15320 15308 repo = "zenbones.nvim"; 15321 - rev = "ae8a6cb5e2d478a03df3cdbc3d0ca4c4a6db35ba"; 15322 - sha256 = "1a1pck42xs96armn33gjjamcw8f730vhfg63vrf9xfy41s8pl1jx"; 15309 + rev = "ba1c6ad48626526f65a2eb0149abbc2747cb961b"; 15310 + sha256 = "04k0l2nqjnw1qgzl0xnsi9r48rp91z6201dpwpnviv3bhlzsvdbf"; 15323 15311 }; 15324 15312 meta.homepage = "https://github.com/mcchrish/zenbones.nvim/"; 15325 15313 }; ··· 15422 15410 15423 15411 chad = buildVimPluginFrom2Nix { 15424 15412 pname = "chad"; 15425 - version = "2023-06-29"; 15413 + version = "2023-07-03"; 15426 15414 src = fetchFromGitHub { 15427 15415 owner = "ms-jpq"; 15428 15416 repo = "chadtree"; 15429 - rev = "5f19d1797ca5f05a0b7cccd69e644c690fa72899"; 15430 - sha256 = "07a4qlypr6zqxr3m8sj9vpfd82pwpia6f7jcpkfilqzmdyrdvn5l"; 15417 + rev = "f472d5e35468d5741df072b6d06376c839e65e09"; 15418 + sha256 = "0cw99qiajs2pqxww138m4cvbxsv5l2sysaw2c6zvbl7hnwbf6h50"; 15431 15419 }; 15432 15420 meta.homepage = "https://github.com/ms-jpq/chadtree/"; 15433 15421 };
+18 -18
pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
··· 27 27 }; 28 28 arduino = buildGrammar { 29 29 language = "arduino"; 30 - version = "0.0.0+rev=da8cae9"; 30 + version = "0.0.0+rev=bf0db73"; 31 31 src = fetchFromGitHub { 32 32 owner = "ObserverOfTime"; 33 33 repo = "tree-sitter-arduino"; 34 - rev = "da8cae9ce365a81dcba25256f76c713674121017"; 35 - hash = "sha256-axsaq4znP4A57oGKZJrjLrq+Yx4zVV2IssjMYVCQ2cI="; 34 + rev = "bf0db73db96ec02f872cb7b5058dcc8bfd8fe714"; 35 + hash = "sha256-7naUhZ1xhJfirA4gYYVc36YuvY66PLGRLCqRLQie11o="; 36 36 }; 37 37 meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-arduino"; 38 38 }; ··· 82 82 }; 83 83 beancount = buildGrammar { 84 84 language = "beancount"; 85 - version = "0.0.0+rev=f3741a3"; 85 + version = "0.0.0+rev=358e5ec"; 86 86 src = fetchFromGitHub { 87 87 owner = "polarmutex"; 88 88 repo = "tree-sitter-beancount"; 89 - rev = "f3741a3a68ade59ec894ed84a64673494d2ba8f3"; 90 - hash = "sha256-WtZ3FindaePKbtlnilK9KkOoPxBaxRKNVM+8D52DtBE="; 89 + rev = "358e5ecbb87109eef7fd596ea518a4ff74cb9b31"; 90 + hash = "sha256-vz8FU+asnMqF6J4UZer4iecw8uFFiYVpz4Fs/ds4Rt0="; 91 91 }; 92 92 meta.homepage = "https://github.com/polarmutex/tree-sitter-beancount"; 93 93 }; ··· 645 645 }; 646 646 go = buildGrammar { 647 647 language = "go"; 648 - version = "0.0.0+rev=3a3a8ee"; 648 + version = "0.0.0+rev=7a4edcb"; 649 649 src = fetchFromGitHub { 650 650 owner = "tree-sitter"; 651 651 repo = "tree-sitter-go"; 652 - rev = "3a3a8ee53777eaa6cbfc032afd11af407ee1f7fe"; 653 - hash = "sha256-nsbQ1RNCLlgnVD+F2bfcIUjZQwOQUJCCyQVVnYw8rPo="; 652 + rev = "7a4edcbc376302efa8d6ba7e235070ab7ee3c4c8"; 653 + hash = "sha256-VvMsFU/HSccB7JetiuNj3O+K/vm6bmDwGWhozyec4Vc="; 654 654 }; 655 655 meta.homepage = "https://github.com/tree-sitter/tree-sitter-go"; 656 656 }; ··· 1153 1153 }; 1154 1154 matlab = buildGrammar { 1155 1155 language = "matlab"; 1156 - version = "0.0.0+rev=d7b24aa"; 1156 + version = "0.0.0+rev=835cdab"; 1157 1157 src = fetchFromGitHub { 1158 1158 owner = "acristoffers"; 1159 1159 repo = "tree-sitter-matlab"; 1160 - rev = "d7b24aaaf3e4814d073517d072727319d2b5ffc3"; 1161 - hash = "sha256-oODBui19Ihyy9MJ0Nj1C4Ru1MN2ooMKu+njGFjUq1ao="; 1160 + rev = "835cdab0e105ccc670cf08193a958d1661f3e52b"; 1161 + hash = "sha256-VhSBGkevPJSOjaEYLMR4+QfPwdO+ophtkYzLpSjgJ4k="; 1162 1162 }; 1163 1163 meta.homepage = "https://github.com/acristoffers/tree-sitter-matlab"; 1164 1164 }; ··· 1740 1740 }; 1741 1741 sql = buildGrammar { 1742 1742 language = "sql"; 1743 - version = "0.0.0+rev=e35a16e"; 1743 + version = "0.0.0+rev=5bf5e52"; 1744 1744 src = fetchFromGitHub { 1745 1745 owner = "derekstride"; 1746 1746 repo = "tree-sitter-sql"; 1747 - rev = "e35a16e4b7b342de6a0fbeee108d536bb6633562"; 1748 - hash = "sha256-BNLZxpJTmAIAFqmktejHYsWJnGXx4sGFA0p3V8Ym6sc="; 1747 + rev = "5bf5e5256949b5d0b1bfecd9ac7ee86630760aea"; 1748 + hash = "sha256-vj5nE7fi1Y/d0rRK25qFHShpWrIFKBEHs/tVEP/gK0I="; 1749 1749 }; 1750 1750 meta.homepage = "https://github.com/derekstride/tree-sitter-sql"; 1751 1751 }; ··· 2110 2110 }; 2111 2111 wing = buildGrammar { 2112 2112 language = "wing"; 2113 - version = "0.0.0+rev=e532784"; 2113 + version = "0.0.0+rev=0835281"; 2114 2114 src = fetchFromGitHub { 2115 2115 owner = "winglang"; 2116 2116 repo = "wing"; 2117 - rev = "e5327844f545d4b6d78d23afc97439fae2aa5944"; 2118 - hash = "sha256-8MIWnLTHVNZRrSSbibr/wb0Fd8Mu5K3Ip+5htpvGS8w="; 2117 + rev = "0835281a20ec380fc52a1179de908c951d8d447d"; 2118 + hash = "sha256-9WQRzvvwIMPdQldKNszc/Eu2JXJ1JzVkO3kDIyHr2iw="; 2119 2119 }; 2120 2120 location = "libs/tree-sitter-wing"; 2121 2121 generate = true;
+1
pkgs/applications/editors/vim/plugins/vim-plugin-names
··· 95 95 https://github.com/jlanzarotta/bufexplorer/,, 96 96 https://github.com/AndrewRadev/bufferize.vim/,HEAD, 97 97 https://github.com/akinsho/bufferline.nvim/,, 98 + https://github.com/kwkarlwang/bufjump.nvim/,HEAD, 98 99 https://github.com/dkarter/bullets.vim/,, 99 100 https://github.com/mattn/calendar-vim/,,mattn-calendar-vim 100 101 https://github.com/itchyny/calendar.vim/,,
+2 -2
pkgs/applications/editors/vscode/extensions/default.nix
··· 477 477 mktplcRef = { 478 478 name = "calva"; 479 479 publisher = "betterthantomorrow"; 480 - version = "2.0.205"; 481 - sha256 = "sha256-umnG1uLB42fUNKjANaKcABjVmqbdOQakd/6TPsEpF9c"; 480 + version = "2.0.374"; 481 + sha256 = "sha256-VwdHOkduSSIrcOvrcVf7K8DSp3N1u9fvbaCVDCxp+bk="; 482 482 }; 483 483 nativeBuildInputs = [ jq moreutils ]; 484 484 postInstall = ''
+2 -2
pkgs/applications/misc/clight/clightd.nix
··· 10 10 11 11 stdenv.mkDerivation rec { 12 12 pname = "clightd"; 13 - version = "5.7"; 13 + version = "5.8"; 14 14 15 15 src = fetchFromGitHub { 16 16 owner = "FedeDP"; 17 17 repo = "Clightd"; 18 18 rev = version; 19 - sha256 = "sha256-4daM6Z67d52v2LmzqSZ6RSAHznyZNEqvAdWCuVFi0Kw="; 19 + hash = "sha256-Lmno/TJVCQVNzfpKNZzuDf2OM6w6rbz+zJTr3zVo/CM="; 20 20 }; 21 21 22 22 # dbus-1.pc has datadir=/etc
+77
pkgs/applications/misc/input-leap/default.nix
··· 1 + { lib 2 + , mkDerivation 3 + , fetchFromGitHub 4 + , cmake 5 + 6 + , withLibei ? true 7 + 8 + , avahi 9 + , curl 10 + , libICE 11 + , libSM 12 + , libX11 13 + , libXdmcp 14 + , libXext 15 + , libXinerama 16 + , libXrandr 17 + , libXtst 18 + , libei 19 + , libportal 20 + , openssl 21 + , pkg-config 22 + , qtbase 23 + , qttools 24 + , wrapGAppsHook 25 + }: 26 + 27 + mkDerivation rec { 28 + pname = "input-leap"; 29 + version = "unstable-2023-05-24"; 30 + 31 + src = fetchFromGitHub { 32 + owner = "input-leap"; 33 + repo = "input-leap"; 34 + rev = "5e2f37bf9ec17627ae33558d99f90b7608ace422"; 35 + hash = "sha256-55RqdRu/Hi2OTiLjAFJ6Gdgg9iO5NIIJCsOkUQjR9hk="; 36 + fetchSubmodules = true; 37 + }; 38 + 39 + nativeBuildInputs = [ pkg-config cmake wrapGAppsHook qttools ]; 40 + buildInputs = [ 41 + curl qtbase avahi 42 + libX11 libXext libXtst libXinerama libXrandr libXdmcp libICE libSM 43 + ] ++ lib.optionals withLibei [ libei libportal ]; 44 + 45 + cmakeFlags = [ 46 + "-DINPUTLEAP_REVISION=${builtins.substring 0 8 src.rev}" 47 + ] ++ lib.optional withLibei "-DINPUTLEAP_BUILD_LIBEI=ON"; 48 + 49 + dontWrapGApps = true; 50 + preFixup = '' 51 + qtWrapperArgs+=( 52 + "''${gappsWrapperArgs[@]}" 53 + --prefix PATH : "${lib.makeBinPath [ openssl ]}" 54 + ) 55 + ''; 56 + 57 + postFixup = '' 58 + substituteInPlace $out/share/applications/input-leap.desktop \ 59 + --replace "Exec=input-leap" "Exec=$out/bin/input-leap" 60 + ''; 61 + 62 + meta = { 63 + description = "Open-source KVM software"; 64 + longDescription = '' 65 + Input Leap is software that mimics the functionality of a KVM switch, which historically 66 + would allow you to use a single keyboard and mouse to control multiple computers by 67 + physically turning a dial on the box to switch the machine you're controlling at any 68 + given moment. Input Leap does this in software, allowing you to tell it which machine 69 + to control by moving your mouse to the edge of the screen, or by using a keypress 70 + to switch focus to a different system. 71 + ''; 72 + homepage = "https://github.com/input-leap/input-leap"; 73 + license = lib.licenses.gpl2Plus; 74 + maintainers = with lib.maintainers; [ kovirobi phryneas twey shymega ]; 75 + platforms = lib.platforms.linux; 76 + }; 77 + }
+51
pkgs/applications/misc/ubpm/default.nix
··· 1 + { stdenv, lib, fetchFromGitea, qmake, qttools, qtbase, qtserialport 2 + , qtconnectivity, qtcharts, qttranslations, wrapQtAppsHook }: 3 + 4 + stdenv.mkDerivation (finalAttrs: { 5 + pname = "ubpm"; 6 + version = "1.7.3"; 7 + 8 + src = fetchFromGitea { 9 + domain = "codeberg.org"; 10 + owner = "LazyT"; 11 + repo = "ubpm"; 12 + rev = finalAttrs.version; 13 + hash = "sha256-6lvDSU0ssfs71xrac6R6qlmE0QyVcAMTUf0xmJPVzhY="; 14 + }; 15 + 16 + postPatch = '' 17 + substituteInPlace sources/mainapp/mainapp.pro \ 18 + --replace '$$[QT_INSTALL_TRANSLATIONS]' '${qttranslations}/translations' \ 19 + --replace 'INSTALLDIR = /tmp/ubpm.AppDir' "INSTALLDIR = $out" \ 20 + --replace '/usr/bin' '/bin' \ 21 + --replace 'INSTALLS += target translations themes devices help lin' 'INSTALLS += target translations themes devices help' 22 + ''; 23 + 24 + preConfigure = '' 25 + cd ./sources/ 26 + ''; 27 + 28 + postInstall = '' 29 + install -Dm644 ../package/lin/ubpm.desktop -t $out/share/applications/ 30 + install -Dm644 ../package/lin/de.lazyt.ubpm.appdata.xml -t $out/share/metainfo/ 31 + install -Dm644 ../sources/mainapp/res/ico/app.png $out/share/icons/hicolor/256x256/apps/ubpm.png 32 + ''; 33 + 34 + postFixup = '' 35 + wrapQtApp $out/bin/ubpm 36 + ''; 37 + 38 + nativeBuildInputs = [ qmake qttools wrapQtAppsHook ]; 39 + 40 + # *.so plugins are being wrapped automatically which breaks them 41 + dontWrapQtApps = true; 42 + 43 + buildInputs = [ qtbase qtserialport qtconnectivity qtcharts qttranslations ]; 44 + 45 + meta = with lib; { 46 + homepage = "https://codeberg.org/LazyT/ubpm"; 47 + description = "Universal Blood Pressure Manager"; 48 + license = licenses.gpl3Only; 49 + maintainers = with maintainers; [ kurnevsky ]; 50 + }; 51 + })
+74 -89
pkgs/applications/networking/cisco-packet-tracer/8.nix
··· 1 - { stdenv 1 + { stdenvNoCC 2 2 , lib 3 3 , alsa-lib 4 4 , autoPatchelfHook 5 5 , buildFHSEnv 6 + , ciscoPacketTracer8 6 7 , copyDesktopItems 7 8 , dbus 8 9 , dpkg ··· 22 21 , makeWrapper 23 22 , nspr 24 23 , nss 24 + , qt5 25 25 , requireFile 26 26 , xorg 27 27 }: 28 28 29 29 let 30 - version = "8.2.0"; 31 - 32 - ptFiles = stdenv.mkDerivation { 33 - name = "PacketTracer8Drv"; 34 - inherit version; 35 - 36 - dontUnpack = true; 37 - src = requireFile { 38 - name = "CiscoPacketTracer_${builtins.replaceStrings ["."] [""] version}_Ubuntu_64bit.deb"; 39 - sha256 = "1b19885d59f6130ee55414fb02e211a1773460689db38bfd1ac7f0d45117ed16"; 40 - url = "https://www.netacad.com"; 41 - }; 42 - 43 - nativeBuildInputs = [ 44 - alsa-lib 45 - autoPatchelfHook 46 - dbus 47 - dpkg 48 - expat 49 - fontconfig 50 - glib 51 - libdrm 52 - libglvnd 53 - libpulseaudio 54 - libudev0-shim 55 - libxkbcommon 56 - libxml2 57 - libxslt 58 - makeWrapper 59 - nspr 60 - nss 61 - ] ++ (with xorg; [ 62 - libICE 63 - libSM 64 - libX11 65 - libxcb 66 - libXcomposite 67 - libXcursor 68 - libXdamage 69 - libXext 70 - libXfixes 71 - libXi 72 - libXrandr 73 - libXrender 74 - libXScrnSaver 75 - libXtst 76 - xcbutilimage 77 - xcbutilkeysyms 78 - xcbutilrenderutil 79 - xcbutilwm 80 - ]); 81 - 82 - installPhase = '' 83 - dpkg-deb -x $src $out 84 - chmod 755 "$out" 85 - makeWrapper "$out/opt/pt/bin/PacketTracer" "$out/bin/packettracer" \ 86 - --prefix LD_LIBRARY_PATH : "$out/opt/pt/bin" 87 - 88 - # Keep source archive cached, to avoid re-downloading 89 - ln -s $src $out/usr/share/ 90 - ''; 91 - }; 92 - 93 - desktopItem = makeDesktopItem { 94 - name = "cisco-pt8.desktop"; 95 - desktopName = "Cisco Packet Tracer 8"; 96 - icon = "${ptFiles}/opt/pt/art/app.png"; 97 - exec = "packettracer8 %f"; 98 - mimeTypes = [ "application/x-pkt" "application/x-pka" "application/x-pkz" ]; 99 - }; 100 - 101 - fhs = buildFHSEnv { 102 - name = "packettracer8"; 103 - runScript = "${ptFiles}/bin/packettracer"; 104 - targetPkgs = pkgs: [ libudev0-shim ]; 105 - 106 - extraInstallCommands = '' 107 - mkdir -p "$out/share/applications" 108 - cp "${desktopItem}"/share/applications/* "$out/share/applications/" 109 - ''; 30 + hashes = { 31 + "8.2.0" = "1b19885d59f6130ee55414fb02e211a1773460689db38bfd1ac7f0d45117ed16"; 32 + "8.2.1" = "1fh79r4fnh9gjxjh39gcp4j7npgs5hh3qhrhx74x8x546an3i0s2"; 110 33 }; 111 34 in 112 - stdenv.mkDerivation { 35 + 36 + stdenvNoCC.mkDerivation rec { 113 37 pname = "ciscoPacketTracer8"; 114 - inherit version; 115 38 116 - dontUnpack = true; 39 + version = "8.2.1"; 117 40 118 - installPhase = '' 119 - mkdir $out 120 - ${lndir}/bin/lndir -silent ${fhs} $out 41 + src = requireFile { 42 + name = "CiscoPacketTracer_${builtins.replaceStrings ["."] [""] version}_Ubuntu_64bit.deb"; 43 + sha256 = hashes.${version}; 44 + url = "https://www.netacad.com"; 45 + }; 46 + 47 + unpackPhase = '' 48 + runHook preUnpack 49 + 50 + dpkg-deb -x $src $out 51 + chmod 755 "$out" 52 + 53 + runHook postUnpack 121 54 ''; 122 55 123 - desktopItems = [ desktopItem ]; 124 - nativeBuildInputs = [ copyDesktopItems ]; 56 + nativeBuildInputs = [ 57 + autoPatchelfHook 58 + copyDesktopItems 59 + dpkg 60 + makeWrapper 61 + qt5.wrapQtAppsHook 62 + ]; 63 + 64 + buildInputs = [ 65 + alsa-lib 66 + dbus 67 + expat 68 + fontconfig 69 + glib 70 + qt5.qtbase 71 + qt5.qtmultimedia 72 + qt5.qtnetworkauth 73 + qt5.qtscript 74 + qt5.qtspeech 75 + qt5.qtwebengine 76 + qt5.qtwebsockets 77 + ]; 78 + 79 + installPhase = '' 80 + runHook preInstall 81 + 82 + makeWrapper "$out/opt/pt/bin/PacketTracer" "$out/bin/packettracer8" \ 83 + "''${qtWrapperArgs[@]}" \ 84 + --prefix LD_LIBRARY_PATH : "$out/opt/pt/bin" 85 + 86 + install -D $out/opt/pt/art/app.png $out/share/icons/hicolor/128x128/apps/ciscoPacketTracer8.png 87 + 88 + rm $out/opt/pt/bin/libQt5* -f 89 + 90 + runHook postInstall 91 + ''; 92 + 93 + desktopItems = [ 94 + (makeDesktopItem { 95 + name = "cisco-pt8.desktop"; 96 + desktopName = "Cisco Packet Tracer 8"; 97 + icon = "ciscoPacketTracer8"; 98 + exec = "packettracer8 %f"; 99 + mimeTypes = [ "application/x-pkt" "application/x-pka" "application/x-pkz" ]; 100 + }) 101 + ]; 102 + 103 + dontWrapQtApps = true; 104 + 105 + passthru = { 106 + inherit hashes; 107 + }; 125 108 126 109 meta = with lib; { 127 110 description = "Network simulation tool from Cisco";
+4 -4
pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
··· 1 1 { callPackage }: builtins.mapAttrs (pname: attrs: callPackage ./generic.nix (attrs // { inherit pname; })) { 2 2 signal-desktop = { 3 3 dir = "Signal"; 4 - version = "6.21.0"; 5 - hash = "sha256-MDjh2slEmGCMn0Q4YsIzVQO2I7ZE5XUJX5qH4OYFFxw="; 4 + version = "6.23.0"; 5 + hash = "sha256-WZe1fJ6H+h7QcXn+gR7OJ+KSOgd9NxTDLMs7UOFeq70="; 6 6 }; 7 7 signal-desktop-beta = { 8 8 dir = "Signal Beta"; 9 - version = "6.22.0-beta.3"; 10 - hash = "sha256-Obc7JHfsFrkJkcgm/i9/6hDsoHczqz7txg4W+u/Jems="; 9 + version = "6.24.0-beta.1"; 10 + hash = "sha256-tA1xsgtAeOn0c0HcZutj+Pqrsr0JV5bQOnknH4t/QkY="; 11 11 }; 12 12 }
+6 -4
pkgs/applications/terminal-emulators/rio/default.nix
··· 10 10 , fontconfig 11 11 , libGL 12 12 , vulkan-loader 13 + , libxkbcommon 13 14 14 15 , withX11 ? true 15 16 , libX11 ··· 19 18 , libXrandr 20 19 , libxcb 21 20 22 - , withWayland ? false 21 + , withWayland ? true 23 22 , wayland 24 23 }: 25 24 let ··· 27 26 (lib.getLib gcc-unwrapped) 28 27 fontconfig 29 28 libGL 29 + libxkbcommon 30 30 vulkan-loader 31 31 ] ++ lib.optionals withX11 [ 32 32 libX11 ··· 41 39 in 42 40 rustPlatform.buildRustPackage rec { 43 41 pname = "rio"; 44 - version = "0.0.7"; 42 + version = "0.0.8"; 45 43 46 44 src = fetchFromGitHub { 47 45 owner = "raphamorim"; 48 46 repo = "rio"; 49 47 rev = "v${version}"; 50 - hash = "sha256-SiDYOhwuxksmIp7hvrA3TX1TFB4PsojnOa8FpYvi9q0="; 48 + hash = "sha256-NonIMGBASbkbc5JsHKwfaZ9dGQt1f8+hFh/FFyIlIZs="; 51 49 }; 52 50 53 - cargoHash = "sha256-A5hMJUHdewhMPcCZ3ogqhQLW7FAmXks8f8l5tTtyBac="; 51 + cargoHash = "sha256-4IJJtLa25aZkFwkMYpnYyRQLeqoBwncgCjorF6Gx6pk="; 54 52 55 53 nativeBuildInputs = [ 56 54 autoPatchelfHook
+3 -7
pkgs/development/interpreters/evcxr/default.nix
··· 3 3 4 4 rustPlatform.buildRustPackage rec { 5 5 pname = "evcxr"; 6 - version = "0.14.2"; 6 + version = "0.15.0"; 7 7 8 8 src = fetchFromGitHub { 9 9 owner = "google"; 10 10 repo = "evcxr"; 11 11 rev = "v${version}"; 12 - sha256 = "sha256-gREAtCh4jerqxhwNslXIXRMLkoj0RlhbIwQXbb8LVws="; 12 + sha256 = "sha256-s8zM1vxEeJYcRek1rqUmrBfvB2zCAF3iLG8UVA7WABI="; 13 13 }; 14 14 15 - cargoSha256 = "sha256-xuxWOVSUJVQvSDA5xhFBjdO/ODLA4fzEnzG9p0DRF2Q="; 15 + cargoSha256 = "sha256-wMo5Fq6aMiE6kg8mZoz1T3KPwKSdJcej83MB+/GRM5w="; 16 16 17 17 RUST_SRC_PATH = "${rustPlatform.rustLibSrc}"; 18 18 ··· 25 25 # * https://github.com/evcxr/evcxr/issues/294 26 26 # * https://github.com/NixOS/nixpkgs/issues/229524 27 27 "--skip=check_for_errors" 28 - 29 - # test broken with rust 1.70 30 - # * https://github.com/evcxr/evcxr/issues/295 31 - "--skip=partially_inferred_variable_type" 32 28 ]; 33 29 34 30 postInstall = let
+2 -2
pkgs/development/libraries/arrow-cpp/default.nix
··· 81 81 in 82 82 stdenv.mkDerivation rec { 83 83 pname = "arrow-cpp"; 84 - version = "12.0.0"; 84 + version = "12.0.1"; 85 85 86 86 src = fetchurl { 87 87 url = "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz"; 88 - hash = "sha256-3dg0eIJ3XlOvfQlloZArfY/NCgMP0U94PU+F6CE1LVI="; 88 + hash = "sha256-NIHEETk6oVx16I2Tz4MV+vf0PhgP4HkBKNOEDUF96Fg="; 89 89 }; 90 90 91 91 sourceRoot = "apache-arrow-${version}/cpp";
+2 -2
pkgs/development/python-modules/avro/default.nix
··· 8 8 9 9 buildPythonPackage rec { 10 10 pname = "avro"; 11 - version = "1.11.1"; 11 + version = "1.11.2"; 12 12 format = "setuptools"; 13 13 14 14 disabled = pythonOlder "3.6"; 15 15 16 16 src = fetchPypi { 17 17 inherit pname version; 18 - hash = "sha256-8SNiPsxkjQ4gzhT47YUWIUDBPMSxCIZdGyUp+/oGwAg="; 18 + hash = "sha256-U9zVv/zLmnITbwjQsYdxeV6vTu+wKLuq7V9OF4fw4mg="; 19 19 }; 20 20 21 21 propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
+52
pkgs/development/python-modules/mdformat-admon/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , mdformat 5 + , python3 6 + , pythonOlder 7 + }: 8 + 9 + let 10 + python = python3.override { 11 + packageOverrides = self: super: { 12 + mdit-py-plugins = super.mdit-py-plugins.overridePythonAttrs (_prev: rec { 13 + version = "0.4.0"; 14 + doCheck = false; 15 + src = fetchFromGitHub { 16 + owner = "executablebooks"; 17 + repo = "mdit-py-plugins"; 18 + rev = "refs/tags/v${version}"; 19 + hash = "sha256-YBJu0vIOD747DrJLcqiZMHq34+gHdXeGLCw1OxxzIJ0="; 20 + }; 21 + }); 22 + }; 23 + }; 24 + in python.pkgs.buildPythonPackage rec { 25 + pname = "mdformat-admon"; 26 + version = "1.0.2"; 27 + format = "flit"; 28 + 29 + disabled = pythonOlder "3.7"; 30 + 31 + src = fetchFromGitHub { 32 + owner = "KyleKing"; 33 + repo = pname; 34 + rev = "v${version}"; 35 + hash = "sha256-33Q3Re/axnoOHZ9XYA32mmK+efsSelJXW8sD7C1M/jU="; 36 + }; 37 + 38 + buildInputs = with python.pkgs; [ 39 + mdformat 40 + ]; 41 + 42 + propagatedBuildInputs = with python.pkgs; [ 43 + mdit-py-plugins 44 + ]; 45 + 46 + meta = with lib; { 47 + description = "mdformat plugin for admonitions"; 48 + homepage = "https://github.com/KyleKing/mdformat-admon"; 49 + license = licenses.mit; 50 + maintainers = with maintainers; [ aldoborrero ]; 51 + }; 52 + }
+46
pkgs/development/python-modules/mdformat-beautysh/default.nix
··· 1 + { lib 2 + , beautysh 3 + , buildPythonPackage 4 + , fetchFromGitHub 5 + , mdformat 6 + , mdformat-gfm 7 + , mdit-py-plugins 8 + , poetry-core 9 + , pythonOlder 10 + }: 11 + 12 + buildPythonPackage rec { 13 + pname = "mdformat-beautysh"; 14 + version = "0.1.1"; 15 + format = "pyproject"; 16 + 17 + disabled = pythonOlder "3.7"; 18 + 19 + src = fetchFromGitHub { 20 + owner = "hukkin"; 21 + repo = pname; 22 + rev = "refs/tags/${version}"; 23 + hash = "sha256-mH9PN6QsPmnIzh/0vxa+5mYLzANUHRruXC0ql4h8myw="; 24 + }; 25 + 26 + nativeBuildInputs = [ 27 + poetry-core 28 + ]; 29 + 30 + buildInputs = [ 31 + mdformat 32 + mdformat-gfm 33 + mdit-py-plugins 34 + ]; 35 + 36 + propagatedBuildInputs = [ 37 + beautysh 38 + ]; 39 + 40 + meta = with lib; { 41 + description = "Mdformat plugin to beautify Bash scripts"; 42 + homepage = "https://github.com/hukkin/mdformat-beautysh"; 43 + license = licenses.mit; 44 + maintainers = with maintainers; [ aldoborrero ]; 45 + }; 46 + }
+40
pkgs/development/python-modules/mdformat-footnote/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , linkify-it-py 5 + , markdown-it-py 6 + , mdformat 7 + , mdit-py-plugins 8 + , pythonOlder 9 + }: 10 + 11 + buildPythonPackage rec { 12 + pname = "mdformat-footnote"; 13 + version = "0.1.1"; 14 + format = "flit"; 15 + 16 + disabled = pythonOlder "3.7"; 17 + 18 + src = fetchFromGitHub { 19 + owner = "executablebooks"; 20 + repo = pname; 21 + rev = "refs/tags/v${version}"; 22 + hash = "sha256-DUCBWcmB5i6/HkqxjlU3aTRO7i0n2sj+e/doKB8ffeo="; 23 + }; 24 + 25 + buildInputs = [ 26 + mdformat 27 + mdit-py-plugins 28 + ]; 29 + 30 + pythonImportsCheck = [ 31 + "mdformat_footnote" 32 + ]; 33 + 34 + meta = with lib; { 35 + description = "Footnote format addition for mdformat"; 36 + homepage = "https://github.com/executablebooks/mdformat-footnote"; 37 + license = licenses.mit; 38 + maintainers = with maintainers; [ aldoborrero ]; 39 + }; 40 + }
+45
pkgs/development/python-modules/mdformat-frontmatter/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , linkify-it-py 5 + , markdown-it-py 6 + , mdformat 7 + , mdit-py-plugins 8 + , ruamel-yaml 9 + , pythonOlder 10 + }: 11 + 12 + buildPythonPackage rec { 13 + pname = "mdformat-frontmatter"; 14 + version = "2.0.1"; 15 + format = "flit"; 16 + 17 + disabled = pythonOlder "3.7"; 18 + 19 + src = fetchFromGitHub { 20 + owner = "butler54"; 21 + repo = pname; 22 + rev = "refs/tags/v${version}"; 23 + hash = "sha256-PhT5whtvvcYSs5gHQEsIvV1evhx7jR+3DWFMHrF0uMw="; 24 + }; 25 + 26 + buildInputs = [ 27 + mdformat 28 + mdit-py-plugins 29 + ]; 30 + 31 + propagatedBuildInputs = [ 32 + ruamel-yaml 33 + ]; 34 + 35 + pythonImportsCheck = [ 36 + "mdformat_frontmatter" 37 + ]; 38 + 39 + meta = with lib; { 40 + description = "mdformat plugin to ensure frontmatter is respected"; 41 + homepage = "https://github.com/butler54/mdformat-frontmatter"; 42 + license = licenses.mit; 43 + maintainers = with maintainers; [ aldoborrero polarmutex ]; 44 + }; 45 + }
+58
pkgs/development/python-modules/mdformat-gfm/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , linkify-it-py 5 + , markdown-it-py 6 + , mdformat 7 + , mdformat-gfm 8 + , mdformat-tables 9 + , mdit-py-plugins 10 + , poetry-core 11 + , pytestCheckHook 12 + , pythonOlder 13 + }: 14 + 15 + buildPythonPackage rec { 16 + pname = "mdformat-gfm"; 17 + version = "0.3.5"; 18 + format = "pyproject"; 19 + 20 + disabled = pythonOlder "3.7"; 21 + 22 + src = fetchFromGitHub { 23 + owner = "hukkin"; 24 + repo = pname; 25 + rev = "refs/tags/${version}"; 26 + hash = "sha256-7sIa50jCN+M36Y0C05QaAL+TVwLzKxJ0gzpZI1YQFxg="; 27 + }; 28 + 29 + nativeBuildInputs = [ 30 + poetry-core 31 + ]; 32 + 33 + buildInputs = [ 34 + mdformat 35 + markdown-it-py 36 + mdit-py-plugins 37 + ]; 38 + 39 + propagatedBuildInputs = [ 40 + mdformat-tables 41 + linkify-it-py 42 + ]; 43 + 44 + nativeCheckInputs = [ 45 + pytestCheckHook 46 + ]; 47 + 48 + pythonImportsCheck = [ 49 + "mdformat_gfm" 50 + ]; 51 + 52 + meta = with lib; { 53 + description = "Mdformat plugin for GitHub Flavored Markdown compatibility"; 54 + homepage = "https://github.com/hukkin/mdformat-gfm"; 55 + license = licenses.mit; 56 + maintainers = with maintainers; [ aldoborrero polarmutex ]; 57 + }; 58 + }
+40
pkgs/development/python-modules/mdformat-mkdocs/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , mdformat 5 + , mdformat-gfm 6 + , mdit-py-plugins 7 + , pythonOlder 8 + }: 9 + 10 + buildPythonPackage rec { 11 + pname = "mdformat-mkdocs"; 12 + version = "1.0.2"; 13 + format = "flit"; 14 + 15 + disabled = pythonOlder "3.7"; 16 + 17 + src = fetchFromGitHub { 18 + owner = "KyleKing"; 19 + repo = pname; 20 + rev = "refs/tags/v${version}"; 21 + hash = "sha256-H+wqgcXNrdrZ5aQvZ7XM8YpBpVZM6pFtsANC00UZ0jM="; 22 + }; 23 + 24 + buildInputs = [ 25 + mdformat 26 + mdformat-gfm 27 + mdit-py-plugins 28 + ]; 29 + 30 + pythonImportsCheck = [ 31 + "mdformat_mkdocs" 32 + ]; 33 + 34 + meta = with lib; { 35 + description = "mdformat plugin for MkDocs"; 36 + homepage = "https://github.com/KyleKing/mdformat-mkdocs"; 37 + license = licenses.mit; 38 + maintainers = with maintainers; [ aldoborrero ]; 39 + }; 40 + }
+41
pkgs/development/python-modules/mdformat-nix-alejandra/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , mdformat 5 + , poetry-core 6 + , pythonOlder 7 + }: 8 + 9 + buildPythonPackage rec { 10 + pname = "mdformat-nix-alejandra"; 11 + version = "0.1.0"; 12 + format = "pyproject"; 13 + 14 + disabled = pythonOlder "3.7"; 15 + 16 + src = fetchFromGitHub { 17 + owner = "aldoborrero"; 18 + repo = pname; 19 + rev = "${version}"; 20 + hash = "sha256-jUXApGsxCA+pRm4m4ZiHWlxmVkqCPx3A46oQdtyKz5g="; 21 + }; 22 + 23 + nativeBuildInputs = [ 24 + poetry-core 25 + ]; 26 + 27 + buildInputs = [ 28 + mdformat 29 + ]; 30 + 31 + pythonImportsCheck = [ 32 + "mdformat_nix_alejandra" 33 + ]; 34 + 35 + meta = with lib; { 36 + description = "Mdformat plugin format Nix code blocks with alejandra"; 37 + homepage = "https://github.com/aldoborrero/mdformat-nix-alejandra"; 38 + license = licenses.mit; 39 + maintainers = with maintainers; [ aldoborrero ]; 40 + }; 41 + }
+37
pkgs/development/python-modules/mdformat-simple-breaks/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , mdformat 5 + , mdit-py-plugins 6 + , pythonOlder 7 + }: 8 + 9 + buildPythonPackage rec { 10 + pname = "mdformat-simple-breaks"; 11 + version = "0.0.1"; 12 + format = "flit"; 13 + 14 + disabled = pythonOlder "3.7"; 15 + 16 + src = fetchFromGitHub { 17 + owner = "csala"; 18 + repo = pname; 19 + rev = "refs/tags/v${version}"; 20 + hash = "sha256-4lJHB4r9lI2uGJ/BmFFc92sumTRKBBwiRmGBdQkzfd0="; 21 + }; 22 + 23 + buildInputs = [ 24 + mdformat 25 + ]; 26 + 27 + pythonImportsCheck = [ 28 + "mdformat_simple_breaks" 29 + ]; 30 + 31 + meta = with lib; { 32 + description = "mdformat plugin to render thematic breaks using three dashes"; 33 + homepage = "https://github.com/csala/mdformat-simple-breaks"; 34 + license = licenses.mit; 35 + maintainers = with maintainers; [ aldoborrero ]; 36 + }; 37 + }
+42
pkgs/development/python-modules/mdformat-tables/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , mdformat 5 + , mdit-py-plugins 6 + , pytestCheckHook 7 + , pythonOlder 8 + }: 9 + 10 + buildPythonPackage rec { 11 + pname = "mdformat-tables"; 12 + version = "0.4.1"; 13 + format = "flit"; 14 + 15 + disabled = pythonOlder "3.7"; 16 + 17 + src = fetchFromGitHub { 18 + owner = "executablebooks"; 19 + repo = pname; 20 + rev = "v${version}"; 21 + hash = "sha256-Q61GmaRxjxJh9GjyR8QCZOH0njFUtAWihZ9lFQJ2nQQ="; 22 + }; 23 + 24 + buildInputs = [ 25 + mdformat 26 + ]; 27 + 28 + nativeCheckInputs = [ 29 + pytestCheckHook 30 + ]; 31 + 32 + pythonImportsCheck = [ 33 + "mdformat_tables" 34 + ]; 35 + 36 + meta = with lib; { 37 + description = "An mdformat plugin for rendering tables"; 38 + homepage = "https://github.com/executablebooks/mdformat-tables"; 39 + license = licenses.mit; 40 + maintainers = with maintainers; [ aldoborrero polarmutex ]; 41 + }; 42 + }
+47
pkgs/development/python-modules/mdformat-toc/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , mdformat 5 + , mdit-py-plugins 6 + , poetry-core 7 + , pytestCheckHook 8 + , pythonOlder 9 + }: 10 + 11 + buildPythonPackage rec { 12 + pname = "mdformat-toc"; 13 + version = "0.3.0"; 14 + format = "pyproject"; 15 + 16 + disabled = pythonOlder "3.7"; 17 + 18 + src = fetchFromGitHub { 19 + owner = "hukkin"; 20 + repo = pname; 21 + rev = "refs/tags/${version}"; 22 + hash = "sha256-3EX6kGez408tEYiR9VSvi3GTrb4ds+HJwpFflv77nkg="; 23 + }; 24 + 25 + nativeBuildInputs = [ 26 + poetry-core 27 + ]; 28 + 29 + buildInputs = [ 30 + mdformat 31 + ]; 32 + 33 + nativeCheckInputs = [ 34 + pytestCheckHook 35 + ]; 36 + 37 + pythonImportsCheck = [ 38 + "mdformat_toc" 39 + ]; 40 + 41 + meta = with lib; { 42 + description = "Mdformat plugin to generate a table of contents"; 43 + homepage = "https://github.com/hukkin/mdformat-toc"; 44 + license = licenses.mit; 45 + maintainers = with maintainers; [ aldoborrero polarmutex ]; 46 + }; 47 + }
+77 -40
pkgs/development/python-modules/mdformat/default.nix
··· 1 1 { lib 2 + , buildPythonApplication 2 3 , buildPythonPackage 3 4 , fetchFromGitHub 4 5 , importlib-metadata 6 + , makeWrapper 5 7 , markdown-it-py 6 8 , poetry-core 7 9 , pytestCheckHook 10 + , python3 8 11 , pythonOlder 9 12 , setuptools 10 13 , tomli 11 14 , typing-extensions 12 15 }: 13 16 14 - buildPythonPackage rec { 15 - pname = "mdformat"; 16 - version = "0.7.16"; 17 - format = "pyproject"; 17 + let 18 + withPlugins = plugins: buildPythonApplication { 19 + pname = "${package.pname}"; 20 + inherit (package) version; 21 + format = "other"; 18 22 19 - disabled = pythonOlder "3.7"; 23 + disabled = pythonOlder "3.7"; 20 24 21 - src = fetchFromGitHub { 22 - owner = "executablebooks"; 23 - repo = pname; 24 - rev = version; 25 - hash = "sha256-6MWUkvZp5CYUWsbMGXM2gudjn5075j5FIuaNnCrgRNs="; 25 + dontUnpack = true; 26 + dontBuild = true; 27 + doCheck = false; 28 + 29 + nativeBuildInputs = [ 30 + makeWrapper 31 + ]; 32 + 33 + installPhase = '' 34 + makeWrapper ${package}/bin/mdformat $out/bin/mdformat \ 35 + --prefix PYTHONPATH : "${package}/${python3.sitePackages}:$PYTHONPATH" 36 + ln -sfv ${package}/lib $out/lib 37 + ''; 38 + 39 + propagatedBuildInputs = package.propagatedBuildInputs ++ plugins; 40 + 41 + passthru = package.passthru // { 42 + withPlugins = morePlugins: withPlugins (morePlugins ++ plugins); 43 + }; 44 + 45 + meta.mainProgram = "mdformat"; 26 46 }; 27 47 28 - nativeBuildInputs = [ 29 - poetry-core 30 - setuptools 31 - ]; 48 + package = buildPythonPackage rec { 49 + pname = "mdformat"; 50 + version = "0.7.16"; 51 + format = "pyproject"; 32 52 33 - propagatedBuildInputs = [ 34 - markdown-it-py 35 - tomli 36 - ] ++ lib.optionals (pythonOlder "3.10") [ 37 - importlib-metadata 38 - ] ++ lib.optionals (pythonOlder "3.7") [ 39 - typing-extensions 40 - ]; 53 + disabled = pythonOlder "3.7"; 41 54 42 - nativeCheckInputs = [ 43 - pytestCheckHook 44 - ]; 55 + src = fetchFromGitHub { 56 + owner = "executablebooks"; 57 + repo = pname; 58 + rev = version; 59 + hash = "sha256-6MWUkvZp5CYUWsbMGXM2gudjn5075j5FIuaNnCrgRNs="; 60 + }; 45 61 46 - disabledTests = [ 47 - # AssertionError 48 - "test_no_codeblock_trailing_newline" 49 - # Issue with upper/lower case 50 - "default_style.md-options0" 51 - ]; 62 + nativeBuildInputs = [ 63 + poetry-core 64 + setuptools 65 + ]; 52 66 53 - pythonImportsCheck = [ 54 - "mdformat" 55 - ]; 67 + propagatedBuildInputs = [ 68 + markdown-it-py 69 + tomli 70 + ] ++ lib.optionals (pythonOlder "3.10") [ 71 + importlib-metadata 72 + ] ++ lib.optionals (pythonOlder "3.7") [ 73 + typing-extensions 74 + ]; 56 75 57 - meta = with lib; { 58 - description = "CommonMark compliant Markdown formatter"; 59 - homepage = "https://mdformat.rtfd.io/"; 60 - license = with licenses; [ mit ]; 61 - maintainers = with maintainers; [ fab ]; 76 + nativeCheckInputs = [ 77 + pytestCheckHook 78 + ]; 79 + 80 + disabledTests = [ 81 + # AssertionError 82 + "test_no_codeblock_trailing_newline" 83 + # Issue with upper/lower case 84 + "default_style.md-options0" 85 + ]; 86 + 87 + pythonImportsCheck = [ 88 + "mdformat" 89 + ]; 90 + 91 + passthru = {inherit withPlugins;}; 92 + 93 + meta = with lib; { 94 + description = "CommonMark compliant Markdown formatter"; 95 + homepage = "https://mdformat.rtfd.io/"; 96 + license = with licenses; [ mit ]; 97 + maintainers = with maintainers; [ fab aldoborrero ]; 98 + }; 62 99 }; 63 - } 100 + in package
+7 -2
pkgs/development/python-modules/pyamg/default.nix
··· 6 6 , pytest 7 7 , pybind11 8 8 , setuptools-scm 9 + , pythonOlder 9 10 }: 10 11 11 12 buildPythonPackage rec { 12 13 pname = "pyamg"; 13 - version = "5.0.0"; 14 + version = "5.0.1"; 15 + format = "setuptools"; 16 + 17 + disabled = pythonOlder "3.7"; 14 18 15 19 src = fetchPypi { 16 20 inherit pname version; 17 - hash = "sha256-6rlnIo9hQ0LOI8e01rvKJa2LknpFy3Ym0e8XyfBioC4="; 21 + hash = "sha256-XwSKAXQzQ64NTIYjBgBzhs+5sURTxHrf2tJ363mkbVA="; 18 22 }; 19 23 20 24 nativeBuildInputs = [ ··· 47 43 meta = with lib; { 48 44 description = "Algebraic Multigrid Solvers in Python"; 49 45 homepage = "https://github.com/pyamg/pyamg"; 46 + changelog = "https://github.com/pyamg/pyamg/blob/v${version}/changelog.md"; 50 47 license = licenses.mit; 51 48 maintainers = [ maintainers.costrouc ]; 52 49 };
+2 -2
pkgs/development/tools/database/sqlfluff/default.nix
··· 5 5 6 6 python3.pkgs.buildPythonApplication rec { 7 7 pname = "sqlfluff"; 8 - version = "2.1.1"; 8 + version = "2.1.2"; 9 9 format = "setuptools"; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = pname; 13 13 repo = pname; 14 14 rev = "refs/tags/${version}"; 15 - hash = "sha256-WNQ9rcy3dqfZjLdqjpl5erSxLgQjYc/sy293DfzoenM="; 15 + hash = "sha256-XxaQlXXxd0CpVK2iIt2aJ5PoGWvanFf7oeCdnjOTaeI="; 16 16 }; 17 17 18 18 propagatedBuildInputs = with python3.pkgs; [
+3 -3
pkgs/development/tools/lightningcss/default.nix
··· 6 6 7 7 rustPlatform.buildRustPackage rec { 8 8 pname = "lightningcss"; 9 - version = "1.21.2"; 9 + version = "1.21.3"; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = "parcel-bundler"; 13 13 repo = "lightningcss"; 14 14 rev = "refs/tags/v${version}"; 15 - sha256 = "ujYyyL9RWpTUJl2sQSJFYT5JQebjgLZy3F0S5zg3aRY="; 15 + sha256 = "0IBXniW8ybqgYO9MA9VEYgPpv9Wte8/tJ9fvOXPURUk="; 16 16 }; 17 17 18 - cargoHash = "sha256-SI2UXp99JdWN6nkON/5lzm6nPmAqCwJ+qSg//jexIhA="; 18 + cargoHash = "sha256-etyxE1Pkikyr+fGEGhefLMnkUwP5O0xcgTsE/6u2Jtw="; 19 19 20 20 buildFeatures = [ 21 21 "cli"
+241 -194
pkgs/development/tools/ruff/Cargo.lock
··· 25 25 26 26 [[package]] 27 27 name = "aho-corasick" 28 - version = "1.0.1" 28 + version = "1.0.2" 29 29 source = "registry+https://github.com/rust-lang/crates.io-index" 30 - checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04" 30 + checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" 31 31 dependencies = [ 32 32 "memchr", 33 33 ] ··· 86 86 87 87 [[package]] 88 88 name = "anstyle" 89 - version = "1.0.0" 89 + version = "1.0.1" 90 90 source = "registry+https://github.com/rust-lang/crates.io-index" 91 - checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d" 91 + checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" 92 92 93 93 [[package]] 94 94 name = "anstyle-parse" 95 - version = "0.2.0" 95 + version = "0.2.1" 96 96 source = "registry+https://github.com/rust-lang/crates.io-index" 97 - checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee" 97 + checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" 98 98 dependencies = [ 99 99 "utf8parse", 100 100 ] ··· 167 167 168 168 [[package]] 169 169 name = "base64" 170 - version = "0.13.1" 171 - source = "registry+https://github.com/rust-lang/crates.io-index" 172 - checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" 173 - 174 - [[package]] 175 - name = "base64" 176 170 version = "0.21.2" 177 171 source = "registry+https://github.com/rust-lang/crates.io-index" 178 172 checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" ··· 188 194 189 195 [[package]] 190 196 name = "bitflags" 191 - version = "2.3.1" 197 + version = "2.3.2" 192 198 source = "registry+https://github.com/rust-lang/crates.io-index" 193 - checksum = "6776fc96284a0bb647b615056fc496d1fe1644a7ab01829818a6d91cae888b84" 199 + checksum = "6dbe3c979c178231552ecba20214a8272df4e09f232a87aef4320cf06539aded" 194 200 195 201 [[package]] 196 202 name = "bstr" ··· 291 297 292 298 [[package]] 293 299 name = "clap" 294 - version = "4.3.1" 300 + version = "4.3.8" 295 301 source = "registry+https://github.com/rust-lang/crates.io-index" 296 - checksum = "b4ed2379f8603fa2b7509891660e802b88c70a79a6427a70abb5968054de2c28" 302 + checksum = "d9394150f5b4273a1763355bd1c2ec54cc5a2593f790587bcd6b2c947cfa9211" 297 303 dependencies = [ 298 304 "clap_builder", 299 305 "clap_derive", ··· 302 308 303 309 [[package]] 304 310 name = "clap_builder" 305 - version = "4.3.1" 311 + version = "4.3.8" 306 312 source = "registry+https://github.com/rust-lang/crates.io-index" 307 - checksum = "72394f3339a76daf211e57d4bcb374410f3965dcc606dd0e03738c7888766980" 313 + checksum = "9a78fbdd3cc2914ddf37ba444114bc7765bbdcb55ec9cbe6fa054f0137400717" 308 314 dependencies = [ 309 315 "anstream", 310 316 "anstyle", ··· 356 362 357 363 [[package]] 358 364 name = "clap_derive" 359 - version = "4.3.1" 365 + version = "4.3.2" 360 366 source = "registry+https://github.com/rust-lang/crates.io-index" 361 - checksum = "59e9ef9a08ee1c0e1f2e162121665ac45ac3783b0f897db7244ae75ad9a8f65b" 367 + checksum = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f" 362 368 dependencies = [ 363 369 "heck", 364 370 "proc-macro2", 365 371 "quote", 366 - "syn 2.0.18", 372 + "syn 2.0.22", 367 373 ] 368 374 369 375 [[package]] ··· 520 526 521 527 [[package]] 522 528 name = "crossbeam-epoch" 523 - version = "0.9.14" 529 + version = "0.9.15" 524 530 source = "registry+https://github.com/rust-lang/crates.io-index" 525 - checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695" 531 + checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" 526 532 dependencies = [ 527 533 "autocfg", 528 534 "cfg-if", ··· 533 539 534 540 [[package]] 535 541 name = "crossbeam-utils" 536 - version = "0.8.15" 542 + version = "0.8.16" 537 543 source = "registry+https://github.com/rust-lang/crates.io-index" 538 - checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" 544 + checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" 539 545 dependencies = [ 540 546 "cfg-if", 541 547 ] ··· 577 583 "proc-macro2", 578 584 "quote", 579 585 "strsim", 580 - "syn 2.0.18", 586 + "syn 2.0.22", 581 587 ] 582 588 583 589 [[package]] ··· 588 594 dependencies = [ 589 595 "darling_core", 590 596 "quote", 591 - "syn 2.0.18", 597 + "syn 2.0.22", 592 598 ] 593 599 594 600 [[package]] ··· 675 681 checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" 676 682 677 683 [[package]] 684 + name = "env_logger" 685 + version = "0.10.0" 686 + source = "registry+https://github.com/rust-lang/crates.io-index" 687 + checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" 688 + dependencies = [ 689 + "humantime", 690 + "is-terminal", 691 + "log", 692 + "regex", 693 + "termcolor", 694 + ] 695 + 696 + [[package]] 697 + name = "equivalent" 698 + version = "1.0.0" 699 + source = "registry+https://github.com/rust-lang/crates.io-index" 700 + checksum = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1" 701 + 702 + [[package]] 678 703 name = "errno" 679 704 version = "0.3.1" 680 705 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 746 733 747 734 [[package]] 748 735 name = "flake8-to-ruff" 749 - version = "0.0.275" 736 + version = "0.0.276" 750 737 dependencies = [ 751 738 "anyhow", 752 739 "clap", ··· 781 768 782 769 [[package]] 783 770 name = "form_urlencoded" 784 - version = "1.1.0" 771 + version = "1.2.0" 785 772 source = "registry+https://github.com/rust-lang/crates.io-index" 786 - checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" 773 + checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" 787 774 dependencies = [ 788 775 "percent-encoding", 789 776 ] ··· 799 786 800 787 [[package]] 801 788 name = "getrandom" 802 - version = "0.2.9" 789 + version = "0.2.10" 803 790 source = "registry+https://github.com/rust-lang/crates.io-index" 804 - checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" 791 + checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" 805 792 dependencies = [ 806 793 "cfg-if", 807 794 "libc", ··· 838 825 version = "0.12.3" 839 826 source = "registry+https://github.com/rust-lang/crates.io-index" 840 827 checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 828 + 829 + [[package]] 830 + name = "hashbrown" 831 + version = "0.14.0" 832 + source = "registry+https://github.com/rust-lang/crates.io-index" 833 + checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" 841 834 842 835 [[package]] 843 836 name = "heck" ··· 888 869 checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" 889 870 890 871 [[package]] 891 - name = "iana-time-zone" 892 - version = "0.1.56" 872 + name = "humantime" 873 + version = "2.1.0" 893 874 source = "registry+https://github.com/rust-lang/crates.io-index" 894 - checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c" 875 + checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" 876 + 877 + [[package]] 878 + name = "iana-time-zone" 879 + version = "0.1.57" 880 + source = "registry+https://github.com/rust-lang/crates.io-index" 881 + checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" 895 882 dependencies = [ 896 883 "android_system_properties", 897 884 "core-foundation-sys", ··· 924 899 925 900 [[package]] 926 901 name = "idna" 927 - version = "0.3.0" 902 + version = "0.4.0" 928 903 source = "registry+https://github.com/rust-lang/crates.io-index" 929 - checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" 904 + checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" 930 905 dependencies = [ 931 906 "unicode-bidi", 932 907 "unicode-normalization", ··· 966 941 checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" 967 942 dependencies = [ 968 943 "autocfg", 969 - "hashbrown", 944 + "hashbrown 0.12.3", 970 945 "serde", 946 + ] 947 + 948 + [[package]] 949 + name = "indexmap" 950 + version = "2.0.0" 951 + source = "registry+https://github.com/rust-lang/crates.io-index" 952 + checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" 953 + dependencies = [ 954 + "equivalent", 955 + "hashbrown 0.14.0", 971 956 ] 972 957 973 958 [[package]] ··· 1002 967 1003 968 [[package]] 1004 969 name = "insta" 1005 - version = "1.29.0" 970 + version = "1.30.0" 1006 971 source = "registry+https://github.com/rust-lang/crates.io-index" 1007 - checksum = "9a28d25139df397cbca21408bb742cf6837e04cdbebf1b07b760caf971d6a972" 972 + checksum = "28491f7753051e5704d4d0ae7860d45fae3238d7d235bc4289dcd45c48d3cec3" 1008 973 dependencies = [ 1009 974 "console", 975 + "globset", 1010 976 "lazy_static", 1011 977 "linked-hash-map", 1012 978 "similar", 979 + "walkdir", 1013 980 "yaml-rust", 1014 981 ] 1015 982 ··· 1077 1040 1078 1041 [[package]] 1079 1042 name = "js-sys" 1080 - version = "0.3.63" 1043 + version = "0.3.64" 1081 1044 source = "registry+https://github.com/rust-lang/crates.io-index" 1082 - checksum = "2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790" 1045 + checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" 1083 1046 dependencies = [ 1084 1047 "wasm-bindgen", 1085 1048 ] ··· 1148 1111 1149 1112 [[package]] 1150 1113 name = "libc" 1151 - version = "0.2.144" 1114 + version = "0.2.147" 1152 1115 source = "registry+https://github.com/rust-lang/crates.io-index" 1153 - checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1" 1116 + checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" 1154 1117 1155 1118 [[package]] 1156 1119 name = "libcst" ··· 1200 1163 1201 1164 [[package]] 1202 1165 name = "log" 1203 - version = "0.4.18" 1166 + version = "0.4.19" 1204 1167 source = "registry+https://github.com/rust-lang/crates.io-index" 1205 - checksum = "518ef76f2f87365916b142844c16d8fefd85039bc5699050210a7778ee1cd1de" 1168 + checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" 1206 1169 1207 1170 [[package]] 1208 1171 name = "matches" ··· 1218 1181 1219 1182 [[package]] 1220 1183 name = "memoffset" 1221 - version = "0.8.0" 1184 + version = "0.9.0" 1222 1185 source = "registry+https://github.com/rust-lang/crates.io-index" 1223 - checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" 1186 + checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" 1224 1187 dependencies = [ 1225 1188 "autocfg", 1226 1189 ] ··· 1361 1324 1362 1325 [[package]] 1363 1326 name = "once_cell" 1364 - version = "1.17.2" 1327 + version = "1.18.0" 1365 1328 source = "registry+https://github.com/rust-lang/crates.io-index" 1366 - checksum = "9670a07f94779e00908f3e686eab508878ebb390ba6e604d3a284c00e8d0487b" 1329 + checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" 1367 1330 1368 1331 [[package]] 1369 1332 name = "oorandom" ··· 1379 1342 1380 1343 [[package]] 1381 1344 name = "os_str_bytes" 1382 - version = "6.5.0" 1345 + version = "6.5.1" 1383 1346 source = "registry+https://github.com/rust-lang/crates.io-index" 1384 - checksum = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267" 1347 + checksum = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac" 1385 1348 dependencies = [ 1386 1349 "memchr", 1387 1350 ] ··· 1454 1417 1455 1418 [[package]] 1456 1419 name = "pep440_rs" 1457 - version = "0.3.9" 1420 + version = "0.3.11" 1458 1421 source = "registry+https://github.com/rust-lang/crates.io-index" 1459 - checksum = "fe1d15693a11422cfa7d401b00dc9ae9fb8edbfbcb711a77130663f4ddf67650" 1422 + checksum = "b05bf2c44c4cd12f03b2c3ca095f3aa21f44e43c16021c332e511884719705be" 1460 1423 dependencies = [ 1461 1424 "lazy_static", 1462 1425 "regex", 1463 1426 "serde", 1464 - "tracing", 1465 1427 "unicode-width", 1466 1428 ] 1467 1429 1468 1430 [[package]] 1469 1431 name = "pep508_rs" 1470 - version = "0.1.5" 1432 + version = "0.2.1" 1471 1433 source = "registry+https://github.com/rust-lang/crates.io-index" 1472 - checksum = "969679a29dfdc8278a449f75b3dd45edf57e649bd59f7502429c2840751c46d8" 1434 + checksum = "c0713d7bb861ca2b7d4c50a38e1f31a4b63a2e2df35ef1e5855cc29e108453e2" 1473 1435 dependencies = [ 1474 1436 "once_cell", 1475 1437 "pep440_rs", ··· 1482 1446 1483 1447 [[package]] 1484 1448 name = "percent-encoding" 1485 - version = "2.2.0" 1449 + version = "2.3.0" 1486 1450 source = "registry+https://github.com/rust-lang/crates.io-index" 1487 - checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" 1451 + checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" 1488 1452 1489 1453 [[package]] 1490 1454 name = "phf" 1491 - version = "0.11.1" 1455 + version = "0.11.2" 1492 1456 source = "registry+https://github.com/rust-lang/crates.io-index" 1493 - checksum = "928c6535de93548188ef63bb7c4036bd415cd8f36ad25af44b9789b2ee72a48c" 1457 + checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" 1494 1458 dependencies = [ 1495 1459 "phf_macros", 1496 1460 "phf_shared", ··· 1498 1462 1499 1463 [[package]] 1500 1464 name = "phf_codegen" 1501 - version = "0.11.1" 1465 + version = "0.11.2" 1502 1466 source = "registry+https://github.com/rust-lang/crates.io-index" 1503 - checksum = "a56ac890c5e3ca598bbdeaa99964edb5b0258a583a9eb6ef4e89fc85d9224770" 1467 + checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a" 1504 1468 dependencies = [ 1505 1469 "phf_generator", 1506 1470 "phf_shared", ··· 1508 1472 1509 1473 [[package]] 1510 1474 name = "phf_generator" 1511 - version = "0.11.1" 1475 + version = "0.11.2" 1512 1476 source = "registry+https://github.com/rust-lang/crates.io-index" 1513 - checksum = "b1181c94580fa345f50f19d738aaa39c0ed30a600d95cb2d3e23f94266f14fbf" 1477 + checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" 1514 1478 dependencies = [ 1515 1479 "phf_shared", 1516 1480 "rand", ··· 1518 1482 1519 1483 [[package]] 1520 1484 name = "phf_macros" 1521 - version = "0.11.1" 1485 + version = "0.11.2" 1522 1486 source = "registry+https://github.com/rust-lang/crates.io-index" 1523 - checksum = "92aacdc5f16768709a569e913f7451034034178b05bdc8acda226659a3dccc66" 1487 + checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" 1524 1488 dependencies = [ 1525 1489 "phf_generator", 1526 1490 "phf_shared", 1527 1491 "proc-macro2", 1528 1492 "quote", 1529 - "syn 1.0.109", 1493 + "syn 2.0.22", 1530 1494 ] 1531 1495 1532 1496 [[package]] 1533 1497 name = "phf_shared" 1534 - version = "0.11.1" 1498 + version = "0.11.2" 1535 1499 source = "registry+https://github.com/rust-lang/crates.io-index" 1536 - checksum = "e1fb5f6f826b772a8d4c0394209441e7d37cbbb967ae9c7e0e8134365c9ee676" 1500 + checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" 1537 1501 dependencies = [ 1538 1502 "siphasher", 1539 1503 ] ··· 1546 1510 1547 1511 [[package]] 1548 1512 name = "plotters" 1549 - version = "0.3.4" 1513 + version = "0.3.5" 1550 1514 source = "registry+https://github.com/rust-lang/crates.io-index" 1551 - checksum = "2538b639e642295546c50fcd545198c9d64ee2a38620a628724a3b266d5fbf97" 1515 + checksum = "d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45" 1552 1516 dependencies = [ 1553 1517 "num-traits", 1554 1518 "plotters-backend", ··· 1559 1523 1560 1524 [[package]] 1561 1525 name = "plotters-backend" 1562 - version = "0.3.4" 1526 + version = "0.3.5" 1563 1527 source = "registry+https://github.com/rust-lang/crates.io-index" 1564 - checksum = "193228616381fecdc1224c62e96946dfbc73ff4384fba576e052ff8c1bea8142" 1528 + checksum = "9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609" 1565 1529 1566 1530 [[package]] 1567 1531 name = "plotters-svg" 1568 - version = "0.3.3" 1532 + version = "0.3.5" 1569 1533 source = "registry+https://github.com/rust-lang/crates.io-index" 1570 - checksum = "f9a81d2759aae1dae668f783c308bc5c8ebd191ff4184aaa1b37f65a6ae5a56f" 1534 + checksum = "38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab" 1571 1535 dependencies = [ 1572 1536 "plotters-backend", 1573 1537 ] ··· 1649 1613 1650 1614 [[package]] 1651 1615 name = "proc-macro2" 1652 - version = "1.0.59" 1616 + version = "1.0.63" 1653 1617 source = "registry+https://github.com/rust-lang/crates.io-index" 1654 - checksum = "6aeca18b86b413c660b781aa319e4e2648a3e6f9eadc9b47e9038e6fe9f3451b" 1618 + checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" 1655 1619 dependencies = [ 1656 1620 "unicode-ident", 1657 1621 ] 1658 1622 1659 1623 [[package]] 1660 1624 name = "pyproject-toml" 1661 - version = "0.6.0" 1625 + version = "0.6.1" 1662 1626 source = "registry+https://github.com/rust-lang/crates.io-index" 1663 - checksum = "f04dbbb336bd88583943c7cd973a32fed323578243a7569f40cb0c7da673321b" 1627 + checksum = "ee79feaa9d31e1c417e34219e610b67db4e786ce9b49d77dda549640abb9dc5f" 1664 1628 dependencies = [ 1665 - "indexmap", 1629 + "indexmap 1.9.3", 1666 1630 "pep440_rs", 1667 1631 "pep508_rs", 1668 1632 "serde", ··· 1676 1640 checksum = "05b909fe9bf2abb1e3d6a97c9189a37c8105c61d03dca9ce6aace023e7d682bd" 1677 1641 dependencies = [ 1678 1642 "chrono", 1679 - "indexmap", 1643 + "indexmap 1.9.3", 1680 1644 "nextest-workspace-hack", 1681 1645 "quick-xml", 1682 1646 "thiserror", ··· 1769 1733 1770 1734 [[package]] 1771 1735 name = "regex" 1772 - version = "1.8.3" 1736 + version = "1.8.4" 1773 1737 source = "registry+https://github.com/rust-lang/crates.io-index" 1774 - checksum = "81ca098a9821bd52d6b24fd8b10bd081f47d39c22778cafaa75a2857a62c6390" 1738 + checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f" 1775 1739 dependencies = [ 1776 - "aho-corasick 1.0.1", 1740 + "aho-corasick 1.0.2", 1777 1741 "memchr", 1778 1742 "regex-syntax", 1779 1743 ] ··· 1829 1793 1830 1794 [[package]] 1831 1795 name = "ruff" 1832 - version = "0.0.275" 1796 + version = "0.0.276" 1833 1797 dependencies = [ 1834 1798 "annotate-snippets 0.9.1", 1835 1799 "anyhow", 1836 - "bitflags 2.3.1", 1800 + "bitflags 2.3.2", 1837 1801 "chrono", 1838 1802 "clap", 1839 1803 "colored", ··· 1848 1812 "itertools", 1849 1813 "libcst", 1850 1814 "log", 1815 + "memchr", 1851 1816 "natord", 1852 1817 "nohash-hasher", 1853 1818 "num-bigint", ··· 1926 1889 1927 1890 [[package]] 1928 1891 name = "ruff_cli" 1929 - version = "0.0.275" 1892 + version = "0.0.276" 1930 1893 dependencies = [ 1931 1894 "annotate-snippets 0.9.1", 1932 1895 "anyhow", ··· 1934 1897 "assert_cmd", 1935 1898 "atty", 1936 1899 "bincode", 1937 - "bitflags 2.3.1", 1900 + "bitflags 2.3.2", 1938 1901 "cachedir", 1939 1902 "chrono", 1940 1903 "clap", ··· 1983 1946 "log", 1984 1947 "once_cell", 1985 1948 "pretty_assertions", 1949 + "rayon", 1986 1950 "regex", 1987 1951 "ruff", 1988 1952 "ruff_cli", 1989 1953 "ruff_diagnostics", 1990 1954 "ruff_python_formatter", 1955 + "ruff_python_stdlib", 1991 1956 "ruff_textwrap", 1992 1957 "rustpython-format", 1993 1958 "rustpython-parser", ··· 2041 2002 "proc-macro2", 2042 2003 "quote", 2043 2004 "ruff_textwrap", 2044 - "syn 2.0.18", 2005 + "syn 2.0.22", 2045 2006 ] 2046 2007 2047 2008 [[package]] ··· 2049 2010 version = "0.0.0" 2050 2011 dependencies = [ 2051 2012 "anyhow", 2052 - "bitflags 2.3.1", 2013 + "bitflags 2.3.2", 2053 2014 "insta", 2054 2015 "is-macro", 2055 2016 "itertools", ··· 2073 2034 version = "0.0.0" 2074 2035 dependencies = [ 2075 2036 "anyhow", 2037 + "bitflags 2.3.2", 2076 2038 "clap", 2077 2039 "countme", 2078 2040 "insta", ··· 2083 2043 "ruff_formatter", 2084 2044 "ruff_python_ast", 2085 2045 "ruff_python_whitespace", 2086 - "ruff_testing_macros", 2087 2046 "ruff_text_size", 2088 2047 "rustc-hash", 2089 2048 "rustpython-parser", 2049 + "serde", 2050 + "serde_json", 2090 2051 "similar", 2091 - "test-case", 2052 + "smallvec", 2053 + ] 2054 + 2055 + [[package]] 2056 + name = "ruff_python_resolver" 2057 + version = "0.0.0" 2058 + dependencies = [ 2059 + "env_logger", 2060 + "insta", 2061 + "log", 2062 + "tempfile", 2092 2063 ] 2093 2064 2094 2065 [[package]] 2095 2066 name = "ruff_python_semantic" 2096 2067 version = "0.0.0" 2097 2068 dependencies = [ 2098 - "bitflags 2.3.1", 2069 + "bitflags 2.3.2", 2099 2070 "is-macro", 2100 2071 "nohash-hasher", 2101 2072 "num-traits", ··· 2122 2071 [[package]] 2123 2072 name = "ruff_python_stdlib" 2124 2073 version = "0.0.0" 2125 - dependencies = [ 2126 - "once_cell", 2127 - "rustc-hash", 2128 - ] 2129 2074 2130 2075 [[package]] 2131 2076 name = "ruff_python_whitespace" ··· 2140 2093 ] 2141 2094 2142 2095 [[package]] 2143 - name = "ruff_testing_macros" 2144 - version = "0.0.0" 2145 - dependencies = [ 2146 - "glob", 2147 - "proc-macro2", 2148 - "quote", 2149 - "syn 2.0.18", 2150 - ] 2151 - 2152 - [[package]] 2153 2096 name = "ruff_text_size" 2154 2097 version = "0.0.0" 2155 - source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=f60e204b73b95bdb6ce87ccd0de34081b4a17c11#f60e204b73b95bdb6ce87ccd0de34081b4a17c11" 2098 + source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=c174bbf1f29527edd43d432326327f16f47ab9e0#c174bbf1f29527edd43d432326327f16f47ab9e0" 2156 2099 dependencies = [ 2157 2100 "schemars", 2158 2101 "serde", ··· 2193 2156 2194 2157 [[package]] 2195 2158 name = "rustix" 2196 - version = "0.37.19" 2159 + version = "0.37.20" 2197 2160 source = "registry+https://github.com/rust-lang/crates.io-index" 2198 - checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" 2161 + checksum = "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0" 2199 2162 dependencies = [ 2200 2163 "bitflags 1.3.2", 2201 2164 "errno", ··· 2207 2170 2208 2171 [[package]] 2209 2172 name = "rustls" 2210 - version = "0.20.8" 2173 + version = "0.21.2" 2211 2174 source = "registry+https://github.com/rust-lang/crates.io-index" 2212 - checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" 2175 + checksum = "e32ca28af694bc1bbf399c33a516dbdf1c90090b8ab23c2bc24f834aa2247f5f" 2213 2176 dependencies = [ 2214 2177 "log", 2215 2178 "ring", 2179 + "rustls-webpki", 2216 2180 "sct", 2217 - "webpki", 2181 + ] 2182 + 2183 + [[package]] 2184 + name = "rustls-webpki" 2185 + version = "0.100.1" 2186 + source = "registry+https://github.com/rust-lang/crates.io-index" 2187 + checksum = "d6207cd5ed3d8dca7816f8f3725513a34609c0c765bf652b8c3cb4cfd87db46b" 2188 + dependencies = [ 2189 + "ring", 2190 + "untrusted", 2218 2191 ] 2219 2192 2220 2193 [[package]] 2221 2194 name = "rustpython-ast" 2222 2195 version = "0.2.0" 2223 - source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=f60e204b73b95bdb6ce87ccd0de34081b4a17c11#f60e204b73b95bdb6ce87ccd0de34081b4a17c11" 2196 + source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=c174bbf1f29527edd43d432326327f16f47ab9e0#c174bbf1f29527edd43d432326327f16f47ab9e0" 2224 2197 dependencies = [ 2225 2198 "is-macro", 2226 2199 "num-bigint", ··· 2241 2194 [[package]] 2242 2195 name = "rustpython-format" 2243 2196 version = "0.2.0" 2244 - source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=f60e204b73b95bdb6ce87ccd0de34081b4a17c11#f60e204b73b95bdb6ce87ccd0de34081b4a17c11" 2197 + source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=c174bbf1f29527edd43d432326327f16f47ab9e0#c174bbf1f29527edd43d432326327f16f47ab9e0" 2245 2198 dependencies = [ 2246 - "bitflags 2.3.1", 2199 + "bitflags 2.3.2", 2247 2200 "itertools", 2248 2201 "num-bigint", 2249 2202 "num-traits", ··· 2253 2206 [[package]] 2254 2207 name = "rustpython-literal" 2255 2208 version = "0.2.0" 2256 - source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=f60e204b73b95bdb6ce87ccd0de34081b4a17c11#f60e204b73b95bdb6ce87ccd0de34081b4a17c11" 2209 + source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=c174bbf1f29527edd43d432326327f16f47ab9e0#c174bbf1f29527edd43d432326327f16f47ab9e0" 2257 2210 dependencies = [ 2258 2211 "hexf-parse", 2259 2212 "is-macro", ··· 2265 2218 [[package]] 2266 2219 name = "rustpython-parser" 2267 2220 version = "0.2.0" 2268 - source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=f60e204b73b95bdb6ce87ccd0de34081b4a17c11#f60e204b73b95bdb6ce87ccd0de34081b4a17c11" 2221 + source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=c174bbf1f29527edd43d432326327f16f47ab9e0#c174bbf1f29527edd43d432326327f16f47ab9e0" 2269 2222 dependencies = [ 2270 2223 "anyhow", 2271 2224 "is-macro", ··· 2288 2241 [[package]] 2289 2242 name = "rustpython-parser-core" 2290 2243 version = "0.2.0" 2291 - source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=f60e204b73b95bdb6ce87ccd0de34081b4a17c11#f60e204b73b95bdb6ce87ccd0de34081b4a17c11" 2244 + source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=c174bbf1f29527edd43d432326327f16f47ab9e0#c174bbf1f29527edd43d432326327f16f47ab9e0" 2292 2245 dependencies = [ 2293 2246 "is-macro", 2294 2247 "memchr", ··· 2370 2323 2371 2324 [[package]] 2372 2325 name = "serde" 2373 - version = "1.0.163" 2326 + version = "1.0.164" 2374 2327 source = "registry+https://github.com/rust-lang/crates.io-index" 2375 - checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2" 2328 + checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d" 2376 2329 dependencies = [ 2377 2330 "serde_derive", 2378 2331 ] ··· 2390 2343 2391 2344 [[package]] 2392 2345 name = "serde_derive" 2393 - version = "1.0.163" 2346 + version = "1.0.164" 2394 2347 source = "registry+https://github.com/rust-lang/crates.io-index" 2395 - checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e" 2348 + checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68" 2396 2349 dependencies = [ 2397 2350 "proc-macro2", 2398 2351 "quote", 2399 - "syn 2.0.18", 2352 + "syn 2.0.22", 2400 2353 ] 2401 2354 2402 2355 [[package]] ··· 2412 2365 2413 2366 [[package]] 2414 2367 name = "serde_json" 2415 - version = "1.0.96" 2368 + version = "1.0.99" 2416 2369 source = "registry+https://github.com/rust-lang/crates.io-index" 2417 - checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1" 2370 + checksum = "46266871c240a00b8f503b877622fe33430b3c7d963bdc0f2adc511e54a1eae3" 2418 2371 dependencies = [ 2419 2372 "itoa", 2420 2373 "ryu", ··· 2423 2376 2424 2377 [[package]] 2425 2378 name = "serde_spanned" 2426 - version = "0.6.2" 2379 + version = "0.6.3" 2427 2380 source = "registry+https://github.com/rust-lang/crates.io-index" 2428 - checksum = "93107647184f6027e3b7dcb2e11034cf95ffa1e3a682c67951963ac69c1c007d" 2381 + checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" 2429 2382 dependencies = [ 2430 2383 "serde", 2431 2384 ] ··· 2436 2389 source = "registry+https://github.com/rust-lang/crates.io-index" 2437 2390 checksum = "9f02d8aa6e3c385bf084924f660ce2a3a6bd333ba55b35e8590b321f35d88513" 2438 2391 dependencies = [ 2439 - "base64 0.21.2", 2392 + "base64", 2440 2393 "chrono", 2441 2394 "hex", 2442 - "indexmap", 2395 + "indexmap 1.9.3", 2443 2396 "serde", 2444 2397 "serde_json", 2445 2398 "serde_with_macros", 2446 - "time 0.3.21", 2399 + "time 0.3.22", 2447 2400 ] 2448 2401 2449 2402 [[package]] ··· 2455 2408 "darling", 2456 2409 "proc-macro2", 2457 2410 "quote", 2458 - "syn 2.0.18", 2411 + "syn 2.0.22", 2459 2412 ] 2460 2413 2461 2414 [[package]] ··· 2538 2491 2539 2492 [[package]] 2540 2493 name = "syn" 2541 - version = "2.0.18" 2494 + version = "2.0.22" 2542 2495 source = "registry+https://github.com/rust-lang/crates.io-index" 2543 - checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e" 2496 + checksum = "2efbeae7acf4eabd6bcdcbd11c92f45231ddda7539edc7806bd1a04a03b24616" 2544 2497 dependencies = [ 2545 2498 "proc-macro2", 2546 2499 "quote", ··· 2558 2511 2559 2512 [[package]] 2560 2513 name = "tempfile" 2561 - version = "3.5.0" 2514 + version = "3.6.0" 2562 2515 source = "registry+https://github.com/rust-lang/crates.io-index" 2563 - checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" 2516 + checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" 2564 2517 dependencies = [ 2518 + "autocfg", 2565 2519 "cfg-if", 2566 2520 "fastrand", 2567 2521 "redox_syscall 0.3.5", 2568 2522 "rustix", 2569 - "windows-sys 0.45.0", 2523 + "windows-sys 0.48.0", 2524 + ] 2525 + 2526 + [[package]] 2527 + name = "termcolor" 2528 + version = "1.2.0" 2529 + source = "registry+https://github.com/rust-lang/crates.io-index" 2530 + checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" 2531 + dependencies = [ 2532 + "winapi-util", 2570 2533 ] 2571 2534 2572 2535 [[package]] ··· 2650 2593 dependencies = [ 2651 2594 "proc-macro2", 2652 2595 "quote", 2653 - "syn 2.0.18", 2596 + "syn 2.0.22", 2654 2597 ] 2655 2598 2656 2599 [[package]] ··· 2696 2639 2697 2640 [[package]] 2698 2641 name = "time" 2699 - version = "0.3.21" 2642 + version = "0.3.22" 2700 2643 source = "registry+https://github.com/rust-lang/crates.io-index" 2701 - checksum = "8f3403384eaacbca9923fa06940178ac13e4edb725486d70e8e15881d0c836cc" 2644 + checksum = "ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd" 2702 2645 dependencies = [ 2703 2646 "itoa", 2704 2647 "serde", ··· 2757 2700 2758 2701 [[package]] 2759 2702 name = "toml" 2760 - version = "0.7.4" 2703 + version = "0.7.5" 2761 2704 source = "registry+https://github.com/rust-lang/crates.io-index" 2762 - checksum = "d6135d499e69981f9ff0ef2167955a5333c35e36f6937d382974566b3d5b94ec" 2705 + checksum = "1ebafdf5ad1220cb59e7d17cf4d2c72015297b75b19a10472f99b89225089240" 2763 2706 dependencies = [ 2764 2707 "serde", 2765 2708 "serde_spanned", ··· 2769 2712 2770 2713 [[package]] 2771 2714 name = "toml_datetime" 2772 - version = "0.6.2" 2715 + version = "0.6.3" 2773 2716 source = "registry+https://github.com/rust-lang/crates.io-index" 2774 - checksum = "5a76a9312f5ba4c2dec6b9161fdf25d87ad8a09256ccea5a556fef03c706a10f" 2717 + checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" 2775 2718 dependencies = [ 2776 2719 "serde", 2777 2720 ] 2778 2721 2779 2722 [[package]] 2780 2723 name = "toml_edit" 2781 - version = "0.19.10" 2724 + version = "0.19.11" 2782 2725 source = "registry+https://github.com/rust-lang/crates.io-index" 2783 - checksum = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739" 2726 + checksum = "266f016b7f039eec8a1a80dfe6156b633d208b9fccca5e4db1d6775b0c4e34a7" 2784 2727 dependencies = [ 2785 - "indexmap", 2728 + "indexmap 2.0.0", 2786 2729 "serde", 2787 2730 "serde_spanned", 2788 2731 "toml_datetime", ··· 2804 2747 2805 2748 [[package]] 2806 2749 name = "tracing-attributes" 2807 - version = "0.1.24" 2750 + version = "0.1.26" 2808 2751 source = "registry+https://github.com/rust-lang/crates.io-index" 2809 - checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74" 2752 + checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" 2810 2753 dependencies = [ 2811 2754 "proc-macro2", 2812 2755 "quote", 2813 - "syn 2.0.18", 2756 + "syn 2.0.22", 2814 2757 ] 2815 2758 2816 2759 [[package]] ··· 2935 2878 2936 2879 [[package]] 2937 2880 name = "ureq" 2938 - version = "2.6.2" 2881 + version = "2.7.1" 2939 2882 source = "registry+https://github.com/rust-lang/crates.io-index" 2940 - checksum = "338b31dd1314f68f3aabf3ed57ab922df95ffcd902476ca7ba3c4ce7b908c46d" 2883 + checksum = "0b11c96ac7ee530603dcdf68ed1557050f374ce55a5a07193ebf8cbc9f8927e9" 2941 2884 dependencies = [ 2942 - "base64 0.13.1", 2885 + "base64", 2943 2886 "flate2", 2944 2887 "log", 2945 2888 "once_cell", 2946 2889 "rustls", 2890 + "rustls-webpki", 2947 2891 "url", 2948 - "webpki", 2949 2892 "webpki-roots", 2950 2893 ] 2951 2894 2952 2895 [[package]] 2953 2896 name = "url" 2954 - version = "2.3.1" 2897 + version = "2.4.0" 2955 2898 source = "registry+https://github.com/rust-lang/crates.io-index" 2956 - checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" 2899 + checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" 2957 2900 dependencies = [ 2958 2901 "form_urlencoded", 2959 2902 "idna", ··· 2969 2912 2970 2913 [[package]] 2971 2914 name = "uuid" 2972 - version = "1.3.3" 2915 + version = "1.3.4" 2973 2916 source = "registry+https://github.com/rust-lang/crates.io-index" 2974 - checksum = "345444e32442451b267fc254ae85a209c64be56d2890e601a0c37ff0c3c5ecd2" 2917 + checksum = "0fa2982af2eec27de306107c027578ff7f423d65f7250e40ce0fea8f45248b81" 2975 2918 2976 2919 [[package]] 2977 2920 name = "version_check" ··· 3012 2955 3013 2956 [[package]] 3014 2957 name = "wasm-bindgen" 3015 - version = "0.2.86" 2958 + version = "0.2.87" 3016 2959 source = "registry+https://github.com/rust-lang/crates.io-index" 3017 - checksum = "5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73" 2960 + checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" 3018 2961 dependencies = [ 3019 2962 "cfg-if", 3020 2963 "wasm-bindgen-macro", ··· 3022 2965 3023 2966 [[package]] 3024 2967 name = "wasm-bindgen-backend" 3025 - version = "0.2.86" 2968 + version = "0.2.87" 3026 2969 source = "registry+https://github.com/rust-lang/crates.io-index" 3027 - checksum = "19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb" 2970 + checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" 3028 2971 dependencies = [ 3029 2972 "bumpalo", 3030 2973 "log", 3031 2974 "once_cell", 3032 2975 "proc-macro2", 3033 2976 "quote", 3034 - "syn 2.0.18", 2977 + "syn 2.0.22", 3035 2978 "wasm-bindgen-shared", 3036 2979 ] 3037 2980 3038 2981 [[package]] 3039 2982 name = "wasm-bindgen-futures" 3040 - version = "0.4.36" 2983 + version = "0.4.37" 3041 2984 source = "registry+https://github.com/rust-lang/crates.io-index" 3042 - checksum = "2d1985d03709c53167ce907ff394f5316aa22cb4e12761295c5dc57dacb6297e" 2985 + checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" 3043 2986 dependencies = [ 3044 2987 "cfg-if", 3045 2988 "js-sys", ··· 3049 2992 3050 2993 [[package]] 3051 2994 name = "wasm-bindgen-macro" 3052 - version = "0.2.86" 2995 + version = "0.2.87" 3053 2996 source = "registry+https://github.com/rust-lang/crates.io-index" 3054 - checksum = "14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258" 2997 + checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" 3055 2998 dependencies = [ 3056 2999 "quote", 3057 3000 "wasm-bindgen-macro-support", ··· 3059 3002 3060 3003 [[package]] 3061 3004 name = "wasm-bindgen-macro-support" 3062 - version = "0.2.86" 3005 + version = "0.2.87" 3063 3006 source = "registry+https://github.com/rust-lang/crates.io-index" 3064 - checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8" 3007 + checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" 3065 3008 dependencies = [ 3066 3009 "proc-macro2", 3067 3010 "quote", 3068 - "syn 2.0.18", 3011 + "syn 2.0.22", 3069 3012 "wasm-bindgen-backend", 3070 3013 "wasm-bindgen-shared", 3071 3014 ] 3072 3015 3073 3016 [[package]] 3074 3017 name = "wasm-bindgen-shared" 3075 - version = "0.2.86" 3018 + version = "0.2.87" 3076 3019 source = "registry+https://github.com/rust-lang/crates.io-index" 3077 - checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93" 3020 + checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" 3078 3021 3079 3022 [[package]] 3080 3023 name = "wasm-bindgen-test" 3081 - version = "0.3.36" 3024 + version = "0.3.37" 3082 3025 source = "registry+https://github.com/rust-lang/crates.io-index" 3083 - checksum = "c9e636f3a428ff62b3742ebc3c70e254dfe12b8c2b469d688ea59cdd4abcf502" 3026 + checksum = "6e6e302a7ea94f83a6d09e78e7dc7d9ca7b186bc2829c24a22d0753efd680671" 3084 3027 dependencies = [ 3085 3028 "console_error_panic_hook", 3086 3029 "js-sys", ··· 3092 3035 3093 3036 [[package]] 3094 3037 name = "wasm-bindgen-test-macro" 3095 - version = "0.3.36" 3038 + version = "0.3.37" 3096 3039 source = "registry+https://github.com/rust-lang/crates.io-index" 3097 - checksum = "f18c1fad2f7c4958e7bcce014fa212f59a65d5e3721d0f77e6c0b27ede936ba3" 3040 + checksum = "ecb993dd8c836930ed130e020e77d9b2e65dd0fbab1b67c790b0f5d80b11a575" 3098 3041 dependencies = [ 3099 3042 "proc-macro2", 3100 3043 "quote", ··· 3102 3045 3103 3046 [[package]] 3104 3047 name = "web-sys" 3105 - version = "0.3.63" 3048 + version = "0.3.64" 3106 3049 source = "registry+https://github.com/rust-lang/crates.io-index" 3107 - checksum = "3bdd9ef4e984da1187bf8110c5cf5b845fbc87a23602cdf912386a76fcd3a7c2" 3050 + checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" 3108 3051 dependencies = [ 3109 3052 "js-sys", 3110 3053 "wasm-bindgen", 3111 3054 ] 3112 3055 3113 3056 [[package]] 3114 - name = "webpki" 3115 - version = "0.22.0" 3116 - source = "registry+https://github.com/rust-lang/crates.io-index" 3117 - checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" 3118 - dependencies = [ 3119 - "ring", 3120 - "untrusted", 3121 - ] 3122 - 3123 - [[package]] 3124 3057 name = "webpki-roots" 3125 - version = "0.22.6" 3058 + version = "0.23.1" 3126 3059 source = "registry+https://github.com/rust-lang/crates.io-index" 3127 - checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" 3060 + checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338" 3128 3061 dependencies = [ 3129 - "webpki", 3062 + "rustls-webpki", 3130 3063 ] 3131 3064 3132 3065 [[package]] ··· 3313 3266 3314 3267 [[package]] 3315 3268 name = "winnow" 3316 - version = "0.4.6" 3269 + version = "0.4.7" 3317 3270 source = "registry+https://github.com/rust-lang/crates.io-index" 3318 - checksum = "61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699" 3271 + checksum = "ca0ace3845f0d96209f0375e6d367e3eb87eb65d27d445bdc9f1843a26f39448" 3319 3272 dependencies = [ 3320 3273 "memchr", 3321 3274 ]
+3 -3
pkgs/development/tools/ruff/default.nix
··· 10 10 11 11 rustPlatform.buildRustPackage rec { 12 12 pname = "ruff"; 13 - version = "0.0.275"; 13 + version = "0.0.276"; 14 14 15 15 src = fetchFromGitHub { 16 16 owner = "astral-sh"; 17 17 repo = pname; 18 18 rev = "v${version}"; 19 - hash = "sha256-HsoycugHzgudY3Aixv5INlOLTjLMzP+gKMMKIreiODs="; 19 + hash = "sha256-abFvjBmaY6SvfEHm/8P92s3Ns3jswLHrW2RdZc6IS64="; 20 20 }; 21 21 22 22 cargoLock = { 23 23 lockFile = ./Cargo.lock; 24 24 outputHashes = { 25 25 "libcst-0.1.0" = "sha256-jG9jYJP4reACkFLrQBWOYH6nbKniNyFVItD0cTZ+nW0="; 26 - "ruff_text_size-0.0.0" = "sha256-oIMZ+7oCID0Ud9Ss6hZjJDvAv7wepyODU31Pb3EOxiM="; 26 + "ruff_text_size-0.0.0" = "sha256-N4IzMeU8vqkfPBbC3o2bqkecCUcbgmX35QVdsTCtFfc="; 27 27 "unicode_names2-0.6.0" = "sha256-eWg9+ISm/vztB0KIdjhq5il2ZnwGJQCleCYfznCI3Wg="; 28 28 }; 29 29 };
+1 -1
pkgs/stdenv/generic/make-derivation.nix
··· 62 62 f0 self super 63 63 else x; 64 64 in 65 - makeDerivationExtensible (self: attrs // f self attrs)) 65 + makeDerivationExtensible (self: attrs // (if builtins.isFunction f0 || f0?__functor then f self attrs else f0))) 66 66 attrs; 67 67 68 68 mkDerivationSimple = overrideAttrs:
+5
pkgs/test/overriding.nix
··· 26 26 expr = (pkgs.hello.overrideAttrs { pname = "hello-overriden"; }).pname == "hello-overriden"; 27 27 expected = true; 28 28 }) 29 + ({ 30 + name = "overriding-using-only-attrset-no-final-attrs"; 31 + expr = ((stdenvNoCC.mkDerivation { pname = "hello-no-final-attrs"; }).overrideAttrs { pname = "hello-no-final-attrs-overridden"; }).pname == "hello-no-final-attrs-overridden"; 32 + expected = true; 33 + }) 29 34 ]; 30 35 31 36 addEntangled = origOverrideAttrs: f:
+3 -3
pkgs/tools/admin/trivy/default.nix
··· 5 5 6 6 buildGoModule rec { 7 7 pname = "trivy"; 8 - version = "0.42.1"; 8 + version = "0.43.0"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "aquasecurity"; 12 12 repo = pname; 13 13 rev = "v${version}"; 14 - sha256 = "sha256-QEjhnZmrmVzNG1/Zj8z/76v0Fb1N0rMYlvGb2pid2VM="; 14 + sha256 = "sha256-I1r164dkrgs7VYF+xSjWid9Sy2oJLVjiLqb9SimKsIo="; 15 15 }; 16 16 # hash missmatch on across linux and darwin 17 17 proxyVendor = true; 18 - vendorHash = "sha256-bEmp3Fq9Zop3YCbZH4lOG71osY0P71xuhpIPOUSnHSY="; 18 + vendorHash = "sha256-+3h95Ita0Kg1QFkstblaMerDa1MaTmwCmZQle5vhZbY="; 19 19 20 20 excludedPackages = [ "magefiles" "misc" ]; 21 21
+3 -3
pkgs/tools/networking/sipexer/default.nix
··· 5 5 6 6 buildGoModule rec { 7 7 pname = "sipexer"; 8 - version = "1.0.3"; 8 + version = "1.1.0"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "miconda"; 12 12 repo = pname; 13 13 rev = "v${version}"; 14 - sha256 = "sha256-cM40hxHMBH0wT1prSRipAZscSBxkZX7riwCrnLQUT0k="; 14 + hash = "sha256-/AVOC8Tx5XMDiKmLBq2xUiJaA3K3TnWVXPE+Vzx862I="; 15 15 }; 16 16 17 17 vendorSha256 = "sha256-q2uNqKZc6Zye7YimPDrg40o68Fo4ux4fygjVjJdhqQU="; ··· 21 21 homepage = "https://github.com/miconda/sipexer"; 22 22 changelog = "https://github.com/miconda/sipexer/releases/tag/v${version}"; 23 23 license = licenses.gpl3Only; 24 - maintainers = with maintainers; [ astro ]; 24 + maintainers = with maintainers; [ astro janik ]; 25 25 }; 26 26 }
-309
pkgs/tools/nix/nixdoc/Cargo.lock
··· 1 - [[package]] 2 - name = "ansi_term" 3 - version = "0.11.0" 4 - source = "registry+https://github.com/rust-lang/crates.io-index" 5 - dependencies = [ 6 - "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 7 - ] 8 - 9 - [[package]] 10 - name = "arenatree" 11 - version = "0.1.1" 12 - source = "git+https://gitlab.com/jD91mZM2/arenatree#f9bf7efa9a5ef4c2dd9e2acc5a4cc79a987cb648" 13 - 14 - [[package]] 15 - name = "arrayvec" 16 - version = "0.4.7" 17 - source = "registry+https://github.com/rust-lang/crates.io-index" 18 - dependencies = [ 19 - "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", 20 - ] 21 - 22 - [[package]] 23 - name = "atty" 24 - version = "0.2.11" 25 - source = "registry+https://github.com/rust-lang/crates.io-index" 26 - dependencies = [ 27 - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 28 - "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", 29 - "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 30 - ] 31 - 32 - [[package]] 33 - name = "backtrace" 34 - version = "0.3.9" 35 - source = "registry+https://github.com/rust-lang/crates.io-index" 36 - dependencies = [ 37 - "backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 38 - "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", 39 - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 40 - "rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", 41 - "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 42 - ] 43 - 44 - [[package]] 45 - name = "backtrace-sys" 46 - version = "0.1.24" 47 - source = "registry+https://github.com/rust-lang/crates.io-index" 48 - dependencies = [ 49 - "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", 50 - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 51 - ] 52 - 53 - [[package]] 54 - name = "bitflags" 55 - version = "1.0.4" 56 - source = "registry+https://github.com/rust-lang/crates.io-index" 57 - 58 - [[package]] 59 - name = "cc" 60 - version = "1.0.25" 61 - source = "registry+https://github.com/rust-lang/crates.io-index" 62 - 63 - [[package]] 64 - name = "cfg-if" 65 - version = "0.1.6" 66 - source = "registry+https://github.com/rust-lang/crates.io-index" 67 - 68 - [[package]] 69 - name = "clap" 70 - version = "2.32.0" 71 - source = "registry+https://github.com/rust-lang/crates.io-index" 72 - dependencies = [ 73 - "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", 74 - "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", 75 - "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 76 - "strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", 77 - "textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", 78 - "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 79 - "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", 80 - ] 81 - 82 - [[package]] 83 - name = "failure" 84 - version = "0.1.3" 85 - source = "registry+https://github.com/rust-lang/crates.io-index" 86 - dependencies = [ 87 - "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", 88 - "failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 89 - ] 90 - 91 - [[package]] 92 - name = "failure_derive" 93 - version = "0.1.3" 94 - source = "registry+https://github.com/rust-lang/crates.io-index" 95 - dependencies = [ 96 - "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", 97 - "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", 98 - "syn 0.15.15 (registry+https://github.com/rust-lang/crates.io-index)", 99 - "synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", 100 - ] 101 - 102 - [[package]] 103 - name = "libc" 104 - version = "0.2.43" 105 - source = "registry+https://github.com/rust-lang/crates.io-index" 106 - 107 - [[package]] 108 - name = "nixdoc" 109 - version = "1.0.1" 110 - dependencies = [ 111 - "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 112 - "rnix 0.4.1 (git+https://gitlab.com/jD91mZM2/rnix.git?rev=10b86c94291b4864470158ef8750de85ddd8d4ba)", 113 - "structopt 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", 114 - "xml-rs 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", 115 - ] 116 - 117 - [[package]] 118 - name = "nodrop" 119 - version = "0.1.12" 120 - source = "registry+https://github.com/rust-lang/crates.io-index" 121 - 122 - [[package]] 123 - name = "proc-macro2" 124 - version = "0.4.20" 125 - source = "registry+https://github.com/rust-lang/crates.io-index" 126 - dependencies = [ 127 - "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 128 - ] 129 - 130 - [[package]] 131 - name = "quote" 132 - version = "0.6.8" 133 - source = "registry+https://github.com/rust-lang/crates.io-index" 134 - dependencies = [ 135 - "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", 136 - ] 137 - 138 - [[package]] 139 - name = "redox_syscall" 140 - version = "0.1.40" 141 - source = "registry+https://github.com/rust-lang/crates.io-index" 142 - 143 - [[package]] 144 - name = "redox_termios" 145 - version = "0.1.1" 146 - source = "registry+https://github.com/rust-lang/crates.io-index" 147 - dependencies = [ 148 - "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", 149 - ] 150 - 151 - [[package]] 152 - name = "rnix" 153 - version = "0.4.1" 154 - source = "git+https://gitlab.com/jD91mZM2/rnix.git?rev=10b86c94291b4864470158ef8750de85ddd8d4ba#10b86c94291b4864470158ef8750de85ddd8d4ba" 155 - dependencies = [ 156 - "arenatree 0.1.1 (git+https://gitlab.com/jD91mZM2/arenatree)", 157 - "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", 158 - "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 159 - "smol_str 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 160 - ] 161 - 162 - [[package]] 163 - name = "rustc-demangle" 164 - version = "0.1.9" 165 - source = "registry+https://github.com/rust-lang/crates.io-index" 166 - 167 - [[package]] 168 - name = "smol_str" 169 - version = "0.1.7" 170 - source = "registry+https://github.com/rust-lang/crates.io-index" 171 - 172 - [[package]] 173 - name = "strsim" 174 - version = "0.7.0" 175 - source = "registry+https://github.com/rust-lang/crates.io-index" 176 - 177 - [[package]] 178 - name = "structopt" 179 - version = "0.2.12" 180 - source = "registry+https://github.com/rust-lang/crates.io-index" 181 - dependencies = [ 182 - "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)", 183 - "structopt-derive 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", 184 - ] 185 - 186 - [[package]] 187 - name = "structopt-derive" 188 - version = "0.2.12" 189 - source = "registry+https://github.com/rust-lang/crates.io-index" 190 - dependencies = [ 191 - "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", 192 - "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", 193 - "syn 0.15.15 (registry+https://github.com/rust-lang/crates.io-index)", 194 - ] 195 - 196 - [[package]] 197 - name = "syn" 198 - version = "0.15.15" 199 - source = "registry+https://github.com/rust-lang/crates.io-index" 200 - dependencies = [ 201 - "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", 202 - "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", 203 - "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 204 - ] 205 - 206 - [[package]] 207 - name = "synstructure" 208 - version = "0.10.1" 209 - source = "registry+https://github.com/rust-lang/crates.io-index" 210 - dependencies = [ 211 - "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", 212 - "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", 213 - "syn 0.15.15 (registry+https://github.com/rust-lang/crates.io-index)", 214 - "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 215 - ] 216 - 217 - [[package]] 218 - name = "termion" 219 - version = "1.5.1" 220 - source = "registry+https://github.com/rust-lang/crates.io-index" 221 - dependencies = [ 222 - "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 223 - "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", 224 - "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 225 - ] 226 - 227 - [[package]] 228 - name = "textwrap" 229 - version = "0.10.0" 230 - source = "registry+https://github.com/rust-lang/crates.io-index" 231 - dependencies = [ 232 - "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 233 - ] 234 - 235 - [[package]] 236 - name = "unicode-width" 237 - version = "0.1.5" 238 - source = "registry+https://github.com/rust-lang/crates.io-index" 239 - 240 - [[package]] 241 - name = "unicode-xid" 242 - version = "0.1.0" 243 - source = "registry+https://github.com/rust-lang/crates.io-index" 244 - 245 - [[package]] 246 - name = "vec_map" 247 - version = "0.8.1" 248 - source = "registry+https://github.com/rust-lang/crates.io-index" 249 - 250 - [[package]] 251 - name = "winapi" 252 - version = "0.3.6" 253 - source = "registry+https://github.com/rust-lang/crates.io-index" 254 - dependencies = [ 255 - "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 256 - "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 257 - ] 258 - 259 - [[package]] 260 - name = "winapi-i686-pc-windows-gnu" 261 - version = "0.4.0" 262 - source = "registry+https://github.com/rust-lang/crates.io-index" 263 - 264 - [[package]] 265 - name = "winapi-x86_64-pc-windows-gnu" 266 - version = "0.4.0" 267 - source = "registry+https://github.com/rust-lang/crates.io-index" 268 - 269 - [[package]] 270 - name = "xml-rs" 271 - version = "0.8.0" 272 - source = "registry+https://github.com/rust-lang/crates.io-index" 273 - 274 - [metadata] 275 - "checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" 276 - "checksum arenatree 0.1.1 (git+https://gitlab.com/jD91mZM2/arenatree)" = "<none>" 277 - "checksum arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef" 278 - "checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652" 279 - "checksum backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "89a47830402e9981c5c41223151efcced65a0510c13097c769cede7efb34782a" 280 - "checksum backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "c66d56ac8dabd07f6aacdaf633f4b8262f5b3601a810a0dcddffd5c22c69daa0" 281 - "checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12" 282 - "checksum cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "f159dfd43363c4d08055a07703eb7a3406b0dac4d0584d96965a3262db3c9d16" 283 - "checksum cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "082bb9b28e00d3c9d39cc03e64ce4cea0f1bb9b3fde493f0cbc008472d22bdf4" 284 - "checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e" 285 - "checksum failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6dd377bcc1b1b7ce911967e3ec24fa19c3224394ec05b54aa7b083d498341ac7" 286 - "checksum failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "64c2d913fe8ed3b6c6518eedf4538255b989945c14c2a7d5cbff62a5e2120596" 287 - "checksum libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)" = "76e3a3ef172f1a0b9a9ff0dd1491ae5e6c948b94479a3021819ba7d860c8645d" 288 - "checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2" 289 - "checksum proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)" = "3d7b7eaaa90b4a90a932a9ea6666c95a389e424eff347f0f793979289429feee" 290 - "checksum quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "dd636425967c33af890042c483632d33fa7a18f19ad1d7ea72e8998c6ef8dea5" 291 - "checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1" 292 - "checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76" 293 - "checksum rnix 0.4.1 (git+https://gitlab.com/jD91mZM2/rnix.git?rev=10b86c94291b4864470158ef8750de85ddd8d4ba)" = "<none>" 294 - "checksum rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "bcfe5b13211b4d78e5c2cadfebd7769197d95c639c35a50057eb4c05de811395" 295 - "checksum smol_str 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f3ed6f19b800d76574926e458d5f8e2dbea86c2b58c08d33a982448f09ac8d0c" 296 - "checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550" 297 - "checksum structopt 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)" = "d77af7242f18c40fd19cb270985930f239ee1646cfb482050bbae9da1d18743b" 298 - "checksum structopt-derive 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)" = "17ff01fe96de9d16e7372ae5f19dd7ece2c703b51043c3db9ea27f9e393ea311" 299 - "checksum syn 0.15.15 (registry+https://github.com/rust-lang/crates.io-index)" = "0a9c2bf1e53c21704a7cce1b2a42768f1ae32a6777108a0d7f1faa4bfe7f7c04" 300 - "checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015" 301 - "checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096" 302 - "checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6" 303 - "checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526" 304 - "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" 305 - "checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a" 306 - "checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0" 307 - "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 308 - "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 309 - "checksum xml-rs 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "541b12c998c5b56aa2b4e6f18f03664eef9a4fd0a246a55594efae6cc2d964b5"
+6 -20
pkgs/tools/nix/nixdoc/default.nix
··· 2 2 3 3 rustPlatform.buildRustPackage rec { 4 4 pname = "nixdoc"; 5 - version = "1.0.1"; 5 + version = "2.3.0"; 6 6 7 7 src = fetchFromGitHub { 8 - owner = "tazjin"; 8 + owner = "nix-community"; 9 9 repo = "nixdoc"; 10 10 rev = "v${version}"; 11 - sha256 = "14d4dq06jdqazxvv7fq5872zy0capxyb0fdkp8qg06gxl1iw201s"; 11 + sha256 = "sha256-8pp6xlmdb3kZ6unTiO4yRruyEZ//GIHZF1k8f4kQr9Q="; 12 12 }; 13 13 14 - patches = [ 15 - # Support nested identifiers https://github.com/nix-community/nixdoc/pull/27 16 - (fetchpatch { 17 - url = "https://github.com/nix-community/nixdoc/pull/27/commits/ea542735bf675fe2ccd37edaffb9138d1a8c1b7e.patch"; 18 - sha256 = "1fmz44jv2r9qsnjxvkkjfb0safy69l4x4vx1g5gisrp8nwdn94rj"; 19 - }) 20 - ]; 14 + cargoSha256 = "sha256-k8/+BBMjQCsrgCi33fTdiSukaAZlg6XU3NwXaJdGYVw="; 21 15 22 16 buildInputs = lib.optionals stdenv.isDarwin [ darwin.Security ]; 23 17 24 - cargoLock = { 25 - lockFile = ./Cargo.lock; 26 - outputHashes = { 27 - "arenatree-0.1.1" = "sha256-b3VVbYnWsjSjFMxvkfpJt13u+VC6baOIWD4qm1Gco4Q="; 28 - "rnix-0.4.1" = "sha256-C1L/qXk6AimH7COrBlqpUA3giftaOYm/qNxs7rQgETA="; 29 - }; 30 - }; 31 - 32 18 meta = with lib; { 33 19 description = "Generate documentation for Nix functions"; 34 - homepage = "https://github.com/tazjin/nixdoc"; 20 + homepage = "https://github.com/nix-community/nixdoc"; 35 21 license = [ licenses.gpl3 ]; 36 - maintainers = [ maintainers.tazjin ]; 22 + maintainers = [ maintainers.asymmetric ]; 37 23 platforms = platforms.unix; 38 24 }; 39 25 }
+4
pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/commonmark.py
··· 184 184 def ordered_list_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 185 185 self._list_stack.pop() 186 186 return "" 187 + def image(self, token: Token, tokens: Sequence[Token], i: int) -> str: 188 + if title := cast(str, token.attrs.get('title', '')): 189 + title = ' "' + title.replace('"', '\\"') + '"' 190 + return f'![{token.content}]({token.attrs["src"]}{title})'
+105 -1
pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/html.py
··· 44 44 result += self._close_headings(None) 45 45 return result 46 46 47 + def _pull_image(self, path: str) -> str: 48 + raise NotImplementedError() 49 + 47 50 def text(self, token: Token, tokens: Sequence[Token], i: int) -> str: 48 51 return escape(token.content) 49 52 def paragraph_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: ··· 70 67 if tokens[i + 1].type == 'link_close': 71 68 tag, text = "xref", xref.title_html 72 69 if xref.title: 73 - title = f'title="{escape(xref.title, True)}"' 70 + # titles are not attribute-safe on their own, so we need to replace quotes. 71 + title = 'title="{}"'.format(xref.title.replace('"', '&quot;')) 74 72 target, href = "", xref.href() 75 73 return f'<a class="{tag}" href="{href}" {title} {target}>{text}' 76 74 def link_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: ··· 227 223 return '<p class="title"><strong>' 228 224 def example_title_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 229 225 return '</strong></p><div class="example-contents">' 226 + def image(self, token: Token, tokens: Sequence[Token], i: int) -> str: 227 + src = self._pull_image(cast(str, token.attrs['src'])) 228 + alt = f'alt="{escape(token.content, True)}"' if token.content else "" 229 + if title := cast(str, token.attrs.get('title', '')): 230 + title = f'title="{escape(title, True)}"' 231 + return ( 232 + '<div class="mediaobject">' 233 + f'<img src="{escape(src, True)}" {alt} {title} />' 234 + '</div>' 235 + ) 236 + def figure_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: 237 + if anchor := cast(str, token.attrs.get('id', '')): 238 + anchor = f'<a id="{escape(anchor, True)}"></a>' 239 + return f'<div class="figure">{anchor}' 240 + def figure_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 241 + return ( 242 + ' </div>' 243 + '</div><br class="figure-break" />' 244 + ) 245 + def figure_title_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: 246 + return ( 247 + '<p class="title">' 248 + ' <strong>' 249 + ) 250 + def figure_title_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 251 + return ( 252 + ' </strong>' 253 + '</p>' 254 + '<div class="figure-contents">' 255 + ) 256 + def table_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: 257 + return ( 258 + '<div class="informaltable">' 259 + '<table class="informaltable" border="1">' 260 + ) 261 + def table_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 262 + return ( 263 + '</table>' 264 + '</div>' 265 + ) 266 + def thead_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: 267 + cols = [] 268 + for j in range(i + 1, len(tokens)): 269 + if tokens[j].type == 'thead_close': 270 + break 271 + elif tokens[j].type == 'th_open': 272 + cols.append(cast(str, tokens[j].attrs.get('style', 'left')).removeprefix('text-align:')) 273 + return "".join([ 274 + "<colgroup>", 275 + "".join([ f'<col align="{col}" />' for col in cols ]), 276 + "</colgroup>", 277 + "<thead>", 278 + ]) 279 + def thead_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 280 + return "</thead>" 281 + def tr_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: 282 + return "<tr>" 283 + def tr_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 284 + return "</tr>" 285 + def th_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: 286 + return f'<th align="{cast(str, token.attrs.get("style", "left")).removeprefix("text-align:")}">' 287 + def th_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 288 + return "</th>" 289 + def tbody_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: 290 + return "<tbody>" 291 + def tbody_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 292 + return "</tbody>" 293 + def td_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: 294 + return f'<td align="{cast(str, token.attrs.get("style", "left")).removeprefix("text-align:")}">' 295 + def td_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 296 + return "</td>" 297 + def footnote_ref(self, token: Token, tokens: Sequence[Token], i: int) -> str: 298 + href = self._xref_targets[token.meta['target']].href() 299 + id = escape(cast(str, token.attrs["id"]), True) 300 + return ( 301 + f'<a href="{href}" class="footnote" id="{id}">' 302 + f'<sup class="footnote">[{token.meta["id"] + 1}]</sup>' 303 + '</a>' 304 + ) 305 + def footnote_block_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: 306 + return ( 307 + '<div class="footnotes">' 308 + '<br />' 309 + '<hr style="width:100; text-align:left;margin-left: 0" />' 310 + ) 311 + def footnote_block_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 312 + return "</div>" 313 + def footnote_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: 314 + # meta id,label 315 + id = escape(self._xref_targets[token.meta["label"]].id, True) 316 + return f'<div id="{id}" class="footnote">' 317 + def footnote_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 318 + return "</div>" 319 + def footnote_anchor(self, token: Token, tokens: Sequence[Token], i: int) -> str: 320 + href = self._xref_targets[token.meta['target']].href() 321 + return ( 322 + f'<a href="{href}" class="para">' 323 + f'<sup class="para">[{token.meta["id"] + 1}]</sup>' 324 + '</a>' 325 + ) 230 326 231 327 def _make_hN(self, level: int) -> tuple[str, str]: 232 328 return f"h{min(6, max(1, level + self._hlevel_offset))}", ""
+138 -64
pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py
··· 1 1 import argparse 2 + import hashlib 2 3 import html 3 4 import json 4 5 import re ··· 236 235 generator: str 237 236 stylesheets: Sequence[str] 238 237 scripts: Sequence[str] 238 + # number of levels in the rendered table of contents. tables are prepended to 239 + # the content they apply to (entire document / document chunk / top-level section 240 + # of a chapter), setting a depth of 0 omits the respective table. 239 241 toc_depth: int 240 242 chunk_toc_depth: int 243 + section_toc_depth: int 244 + media_dir: Path 241 245 242 246 class ManualHTMLRenderer(RendererMixin, HTMLRenderer): 243 247 _base_path: Path 248 + _in_dir: Path 244 249 _html_params: HTMLParameters 245 250 246 251 def __init__(self, toplevel_tag: str, revision: str, html_params: HTMLParameters, 247 252 manpage_urls: Mapping[str, str], xref_targets: dict[str, XrefTarget], 248 - base_path: Path): 253 + in_dir: Path, base_path: Path): 249 254 super().__init__(toplevel_tag, revision, manpage_urls, xref_targets) 250 - self._base_path, self._html_params = base_path, html_params 255 + self._in_dir = in_dir 256 + self._base_path = base_path.absolute() 257 + self._html_params = html_params 258 + 259 + def _pull_image(self, src: str) -> str: 260 + src_path = Path(src) 261 + content = (self._in_dir / src_path).read_bytes() 262 + # images may be used more than once, but we want to store them only once and 263 + # in an easily accessible (ie, not input-file-path-dependent) location without 264 + # having to maintain a mapping structure. hashing the file and using the hash 265 + # as both the path of the final image provides both. 266 + content_hash = hashlib.sha3_256(content).hexdigest() 267 + target_name = f"{content_hash}{src_path.suffix}" 268 + target_path = self._base_path / self._html_params.media_dir / target_name 269 + target_path.write_bytes(content) 270 + return f"./{self._html_params.media_dir}/{target_name}" 251 271 252 272 def _push(self, tag: str, hlevel_offset: int) -> Any: 253 - result = (self._toplevel_tag, self._headings, self._attrspans, self._hlevel_offset) 273 + result = (self._toplevel_tag, self._headings, self._attrspans, self._hlevel_offset, self._in_dir) 254 274 self._hlevel_offset += hlevel_offset 255 275 self._toplevel_tag, self._headings, self._attrspans = tag, [], [] 256 276 return result 257 277 258 278 def _pop(self, state: Any) -> None: 259 - (self._toplevel_tag, self._headings, self._attrspans, self._hlevel_offset) = state 279 + (self._toplevel_tag, self._headings, self._attrspans, self._hlevel_offset, self._in_dir) = state 260 280 261 281 def _render_book(self, tokens: Sequence[Token]) -> str: 262 282 assert tokens[4].children ··· 306 284 def _file_header(self, toc: TocEntry) -> str: 307 285 prev_link, up_link, next_link = "", "", "" 308 286 prev_a, next_a, parent_title = "", "", "&nbsp;" 287 + nav_html = "" 309 288 home = toc.root 310 289 if toc.prev: 311 290 prev_link = f'<link rel="prev" href="{toc.prev.target.href()}" title="{toc.prev.target.title}" />' ··· 322 299 if toc.next: 323 300 next_link = f'<link rel="next" href="{toc.next.target.href()}" title="{toc.next.target.title}" />' 324 301 next_a = f'<a accesskey="n" href="{toc.next.target.href()}">Next</a>' 302 + if toc.prev or toc.parent or toc.next: 303 + nav_html = "\n".join([ 304 + ' <div class="navheader">', 305 + ' <table width="100%" summary="Navigation header">', 306 + ' <tr>', 307 + f' <th colspan="3" align="center">{toc.target.title}</th>', 308 + ' </tr>', 309 + ' <tr>', 310 + f' <td width="20%" align="left">{prev_a}&nbsp;</td>', 311 + f' <th width="60%" align="center">{parent_title}</th>', 312 + f' <td width="20%" align="right">&nbsp;{next_a}</td>', 313 + ' </tr>', 314 + ' </table>', 315 + ' <hr />', 316 + ' </div>', 317 + ]) 325 318 return "\n".join([ 326 319 '<?xml version="1.0" encoding="utf-8" standalone="no"?>', 327 320 '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"', ··· 351 312 "".join((f'<script src="{html.escape(script, True)}" type="text/javascript"></script>' 352 313 for script in self._html_params.scripts)), 353 314 f' <meta name="generator" content="{html.escape(self._html_params.generator, True)}" />', 354 - f' <link rel="home" href="{home.target.href()}" title="{home.target.title}" />', 315 + f' <link rel="home" href="{home.target.href()}" title="{home.target.title}" />' if home.target.href() else "", 355 316 f' {up_link}{prev_link}{next_link}', 356 317 ' </head>', 357 318 ' <body>', 358 - ' <div class="navheader">', 359 - ' <table width="100%" summary="Navigation header">', 360 - ' <tr>', 361 - f' <th colspan="3" align="center">{toc.target.title}</th>', 362 - ' </tr>', 363 - ' <tr>', 364 - f' <td width="20%" align="left">{prev_a}&nbsp;</td>', 365 - f' <th width="60%" align="center">{parent_title}</th>', 366 - f' <td width="20%" align="right">&nbsp;{next_a}</td>', 367 - ' </tr>', 368 - ' </table>', 369 - ' <hr />', 370 - ' </div>', 319 + nav_html, 371 320 ]) 372 321 373 322 def _file_footer(self, toc: TocEntry) -> str: 374 323 # prev, next = self._get_prev_and_next() 375 324 prev_a, up_a, home_a, next_a = "", "&nbsp;", "&nbsp;", "" 376 325 prev_text, up_text, next_text = "", "", "" 326 + nav_html = "" 377 327 home = toc.root 378 328 if toc.prev: 379 329 prev_a = f'<a accesskey="p" href="{toc.prev.target.href()}">Prev</a>' ··· 376 348 next_a = f'<a accesskey="n" href="{toc.next.target.href()}">Next</a>' 377 349 assert toc.next.target.title 378 350 next_text = toc.next.target.title 351 + if toc.prev or toc.parent or toc.next: 352 + nav_html = "\n".join([ 353 + ' <div class="navfooter">', 354 + ' <hr />', 355 + ' <table width="100%" summary="Navigation footer">', 356 + ' <tr>', 357 + f' <td width="40%" align="left">{prev_a}&nbsp;</td>', 358 + f' <td width="20%" align="center">{up_a}</td>', 359 + f' <td width="40%" align="right">&nbsp;{next_a}</td>', 360 + ' </tr>', 361 + ' <tr>', 362 + f' <td width="40%" align="left" valign="top">{prev_text}&nbsp;</td>', 363 + f' <td width="20%" align="center">{home_a}</td>', 364 + f' <td width="40%" align="right" valign="top">&nbsp;{next_text}</td>', 365 + ' </tr>', 366 + ' </table>', 367 + ' </div>', 368 + ]) 379 369 return "\n".join([ 380 - ' <div class="navfooter">', 381 - ' <hr />', 382 - ' <table width="100%" summary="Navigation footer">', 383 - ' <tr>', 384 - f' <td width="40%" align="left">{prev_a}&nbsp;</td>', 385 - f' <td width="20%" align="center">{up_a}</td>', 386 - f' <td width="40%" align="right">&nbsp;{next_a}</td>', 387 - ' </tr>', 388 - ' <tr>', 389 - f' <td width="40%" align="left" valign="top">{prev_text}&nbsp;</td>', 390 - f' <td width="20%" align="center">{home_a}</td>', 391 - f' <td width="40%" align="right" valign="top">&nbsp;{next_text}</td>', 392 - ' </tr>', 393 - ' </table>', 394 - ' </div>', 370 + nav_html, 395 371 ' </body>', 396 372 '</html>', 397 373 ]) ··· 406 374 return super()._heading_tag(token, tokens, i) 407 375 def _build_toc(self, tokens: Sequence[Token], i: int) -> str: 408 376 toc = TocEntry.of(tokens[i]) 409 - if toc.kind == 'section': 377 + if toc.kind == 'section' and self._html_params.section_toc_depth < 1: 410 378 return "" 411 379 def walk_and_emit(toc: TocEntry, depth: int) -> list[str]: 412 380 if depth <= 0: ··· 426 394 if next_level: 427 395 result.append(f'<dd><dl>{"".join(next_level)}</dl></dd>') 428 396 return result 429 - toc_depth = ( 430 - self._html_params.chunk_toc_depth 431 - if toc.starts_new_chunk and toc.kind != 'book' 432 - else self._html_params.toc_depth 433 - ) 434 - if not (items := walk_and_emit(toc, toc_depth)): 435 - return "" 436 - examples = "" 437 - if toc.examples: 438 - examples_entries = [ 439 - f'<dt>{i + 1}. <a href="{ex.target.href()}">{ex.target.toc_html}</a></dt>' 440 - for i, ex in enumerate(toc.examples) 397 + def build_list(kind: str, id: str, lst: Sequence[TocEntry]) -> str: 398 + if not lst: 399 + return "" 400 + entries = [ 401 + f'<dt>{i}. <a href="{e.target.href()}">{e.target.toc_html}</a></dt>' 402 + for i, e in enumerate(lst, start=1) 441 403 ] 442 - examples = ( 443 - '<div class="list-of-examples">' 444 - '<p><strong>List of Examples</strong></p>' 445 - f'<dl>{"".join(examples_entries)}</dl>' 404 + return ( 405 + f'<div class="{id}">' 406 + f'<p><strong>List of {kind}</strong></p>' 407 + f'<dl>{"".join(entries)}</dl>' 446 408 '</div>' 447 409 ) 448 - return ( 449 - f'<div class="toc">' 450 - f' <p><strong>Table of Contents</strong></p>' 410 + # we don't want to generate the "Title of Contents" header for sections, 411 + # docbook doesn't and it's only distracting clutter unless it's the main table. 412 + # we also want to generate tocs only for a top-level section (ie, one that is 413 + # not itself contained in another section) 414 + print_title = toc.kind != 'section' 415 + if toc.kind == 'section': 416 + if toc.parent and toc.parent.kind == 'section': 417 + toc_depth = 0 418 + else: 419 + toc_depth = self._html_params.section_toc_depth 420 + elif toc.starts_new_chunk and toc.kind != 'book': 421 + toc_depth = self._html_params.chunk_toc_depth 422 + else: 423 + toc_depth = self._html_params.toc_depth 424 + if not (items := walk_and_emit(toc, toc_depth)): 425 + return "" 426 + figures = build_list("Figures", "list-of-figures", toc.figures) 427 + examples = build_list("Examples", "list-of-examples", toc.examples) 428 + return "".join([ 429 + f'<div class="toc">', 430 + ' <p><strong>Table of Contents</strong></p>' if print_title else "", 451 431 f' <dl class="toc">' 452 432 f' {"".join(items)}' 453 433 f' </dl>' 454 434 f'</div>' 435 + f'{figures}' 455 436 f'{examples}' 456 - ) 437 + ]) 457 438 458 439 def _make_hN(self, level: int) -> tuple[str, str]: 459 440 # for some reason chapters don't increase the hN nesting count in docbook xslts. duplicate ··· 503 458 # we do not set _hlevel_offset=0 because docbook doesn't either. 504 459 else: 505 460 inner = outer 461 + in_dir = self._in_dir 506 462 for included, path in fragments: 507 463 try: 464 + self._in_dir = (in_dir / path).parent 508 465 inner.append(self.render(included)) 509 466 except Exception as e: 510 467 raise RuntimeError(f"rendering {path}") from e ··· 549 502 # renderer not set on purpose since it has a dependency on the output path! 550 503 551 504 def convert(self, infile: Path, outfile: Path) -> None: 552 - self._renderer = ManualHTMLRenderer('book', self._revision, self._html_params, 553 - self._manpage_urls, self._xref_targets, outfile.parent) 505 + self._renderer = ManualHTMLRenderer( 506 + 'book', self._revision, self._html_params, self._manpage_urls, self._xref_targets, 507 + infile.parent, outfile.parent) 554 508 super().convert(infile, outfile) 555 509 556 510 def _parse(self, src: str) -> list[Token]: ··· 573 525 self._redirection_targets.add(into) 574 526 return tokens 575 527 576 - def _number_examples(self, tokens: Sequence[Token], start: int = 1) -> int: 528 + def _number_block(self, block: str, prefix: str, tokens: Sequence[Token], start: int = 1) -> int: 529 + title_open, title_close = f'{block}_title_open', f'{block}_title_close' 577 530 for (i, token) in enumerate(tokens): 578 - if token.type == "example_title_open": 531 + if token.type == title_open: 579 532 title = tokens[i + 1] 580 533 assert title.type == 'inline' and title.children 581 534 # the prefix is split into two tokens because the xref title_html will want 582 535 # only the first of the two, but both must be rendered into the example itself. 583 536 title.children = ( 584 537 [ 585 - Token('text', '', 0, content=f'Example {start}'), 538 + Token('text', '', 0, content=f'{prefix} {start}'), 586 539 Token('text', '', 0, content='. ') 587 540 ] + title.children 588 541 ) 589 542 start += 1 590 543 elif token.type.startswith('included_') and token.type != 'included_options': 591 544 for sub, _path in token.meta['included']: 592 - start = self._number_examples(sub, start) 545 + start = self._number_block(block, prefix, sub, start) 593 546 return start 594 547 595 548 # xref | (id, type, heading inlines, file, starts new file) ··· 616 567 result += self._collect_ids(sub, sub_file, subtyp, si == 0 and sub_file != target_file) 617 568 elif bt.type == 'example_open' and (id := cast(str, bt.attrs.get('id', ''))): 618 569 result.append((id, 'example', tokens[i + 2], target_file, False)) 570 + elif bt.type == 'figure_open' and (id := cast(str, bt.attrs.get('id', ''))): 571 + result.append((id, 'figure', tokens[i + 2], target_file, False)) 572 + elif bt.type == 'footnote_open' and (id := cast(str, bt.attrs.get('id', ''))): 573 + result.append(XrefTarget(id, "???", None, None, target_file)) 574 + elif bt.type == 'footnote_ref' and (id := cast(str, bt.attrs.get('id', ''))): 575 + result.append(XrefTarget(id, "???", None, None, target_file)) 619 576 elif bt.type == 'inline': 620 577 assert bt.children 621 578 result += self._collect_ids(bt.children, target_file, typ, False) ··· 646 591 title = prefix + title_html 647 592 toc_html = f"{n}. {title_html}" 648 593 title_html = f"Appendix&nbsp;{n}" 649 - elif typ == 'example': 650 - # skip the prepended `Example N. ` from _number_examples 594 + elif typ in ['example', 'figure']: 595 + # skip the prepended `{Example,Figure} N. ` from numbering 651 596 toc_html, title = self._renderer.renderInline(inlines.children[2:]), title_html 652 597 # xref title wants only the prepended text, sans the trailing colon and space 653 598 title_html = self._renderer.renderInline(inlines.children[0:1]) ··· 662 607 return XrefTarget(id, title_html, toc_html, re.sub('<.*?>', '', title), path, drop_fragment) 663 608 664 609 def _postprocess(self, infile: Path, outfile: Path, tokens: Sequence[Token]) -> None: 665 - self._number_examples(tokens) 610 + self._number_block('example', "Example", tokens) 611 + self._number_block('figure', "Figure", tokens) 666 612 xref_queue = self._collect_ids(tokens, outfile.name, 'book', True) 667 613 668 614 failed = False ··· 685 629 failed = True # do another round and report the first error 686 630 xref_queue = deferred 687 631 632 + paths_seen = set() 633 + for t in self._xref_targets.values(): 634 + paths_seen.add(t.path) 635 + 636 + if len(paths_seen) == 1: 637 + for (k, t) in self._xref_targets.items(): 638 + self._xref_targets[k] = XrefTarget( 639 + t.id, 640 + t.title_html, 641 + t.toc_html, 642 + t.title, 643 + t.path, 644 + t.drop_fragment, 645 + drop_target=True 646 + ) 647 + 688 648 TocEntry.collect_and_link(self._xref_targets, tokens) 689 649 690 650 ··· 719 647 p.add_argument('--script', default=[], action='append') 720 648 p.add_argument('--toc-depth', default=1, type=int) 721 649 p.add_argument('--chunk-toc-depth', default=1, type=int) 650 + p.add_argument('--section-toc-depth', default=0, type=int) 651 + p.add_argument('--media-dir', default="media", type=Path) 722 652 p.add_argument('infile', type=Path) 723 653 p.add_argument('outfile', type=Path) 724 654 ··· 734 660 md = HTMLConverter( 735 661 args.revision, 736 662 HTMLParameters(args.generator, args.stylesheet, args.script, args.toc_depth, 737 - args.chunk_toc_depth), 663 + args.chunk_toc_depth, args.section_toc_depth, args.media_dir), 738 664 json.load(manpage_urls)) 739 665 md.convert(args.infile, args.outfile) 740 666
+15 -6
pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual_structure.py
··· 14 14 FragmentType = Literal['preface', 'part', 'chapter', 'section', 'appendix'] 15 15 16 16 # in the TOC all fragments are allowed, plus the all-encompassing book. 17 - TocEntryType = Literal['book', 'preface', 'part', 'chapter', 'section', 'appendix', 'example'] 17 + TocEntryType = Literal['book', 'preface', 'part', 'chapter', 'section', 'appendix', 'example', 'figure'] 18 18 19 19 def is_include(token: Token) -> bool: 20 20 return token.type == "fence" and token.info.startswith("{=include=} ") ··· 110 110 path: str 111 111 """whether to drop the `#anchor` from links when expanding xrefs""" 112 112 drop_fragment: bool = False 113 + """whether to drop the `path.html` from links when expanding xrefs. 114 + mostly useful for docbook compatibility""" 115 + drop_target: bool = False 113 116 114 117 def href(self) -> str: 115 - path = html.escape(self.path, True) 118 + path = "" if self.drop_target else html.escape(self.path, True) 116 119 return path if self.drop_fragment else f"{path}#{html.escape(self.id, True)}" 117 120 118 121 @dc.dataclass ··· 128 125 children: list[TocEntry] = dc.field(default_factory=list) 129 126 starts_new_chunk: bool = False 130 127 examples: list[TocEntry] = dc.field(default_factory=list) 128 + figures: list[TocEntry] = dc.field(default_factory=list) 131 129 132 130 @property 133 131 def root(self) -> TocEntry: ··· 143 139 144 140 @classmethod 145 141 def collect_and_link(cls, xrefs: dict[str, XrefTarget], tokens: Sequence[Token]) -> TocEntry: 146 - entries, examples = cls._collect_entries(xrefs, tokens, 'book') 142 + entries, examples, figures = cls._collect_entries(xrefs, tokens, 'book') 147 143 148 144 def flatten_with_parent(this: TocEntry, parent: TocEntry | None) -> Iterable[TocEntry]: 149 145 this.parent = parent ··· 161 157 paths_seen.add(c.target.path) 162 158 163 159 flat[0].examples = examples 160 + flat[0].figures = figures 164 161 165 162 for c in flat: 166 163 c.freeze() ··· 170 165 171 166 @classmethod 172 167 def _collect_entries(cls, xrefs: dict[str, XrefTarget], tokens: Sequence[Token], 173 - kind: TocEntryType) -> tuple[TocEntry, list[TocEntry]]: 168 + kind: TocEntryType) -> tuple[TocEntry, list[TocEntry], list[TocEntry]]: 174 169 # we assume that check_structure has been run recursively over the entire input. 175 170 # list contains (tag, entry) pairs that will collapse to a single entry for 176 171 # the full sequence. 177 172 entries: list[tuple[str, TocEntry]] = [] 178 173 examples: list[TocEntry] = [] 174 + figures: list[TocEntry] = [] 179 175 for token in tokens: 180 176 if token.type.startswith('included_') and (included := token.meta.get('included')): 181 177 fragment_type_str = token.type[9:].removesuffix('s') 182 178 assert fragment_type_str in get_args(TocEntryType) 183 179 fragment_type = cast(TocEntryType, fragment_type_str) 184 180 for fragment, _path in included: 185 - subentries, subexamples = cls._collect_entries(xrefs, fragment, fragment_type) 181 + subentries, subexamples, subfigures = cls._collect_entries(xrefs, fragment, fragment_type) 186 182 entries[-1][1].children.append(subentries) 187 183 examples += subexamples 184 + figures += subfigures 188 185 elif token.type == 'heading_open' and (id := cast(str, token.attrs.get('id', ''))): 189 186 while len(entries) > 1 and entries[-1][0] >= token.tag: 190 187 entries[-2][1].children.append(entries.pop()[1]) ··· 195 188 token.meta['TocEntry'] = entries[-1][1] 196 189 elif token.type == 'example_open' and (id := cast(str, token.attrs.get('id', ''))): 197 190 examples.append(TocEntry('example', xrefs[id])) 191 + elif token.type == 'figure_open' and (id := cast(str, token.attrs.get('id', ''))): 192 + figures.append(TocEntry('figure', xrefs[id])) 198 193 199 194 while len(entries) > 1: 200 195 entries[-2][1].children.append(entries.pop()[1]) 201 - return (entries[0][1], examples) 196 + return (entries[0][1], examples, figures)
+127 -14
pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/md.py
··· 1 1 from abc import ABC 2 2 from collections.abc import Mapping, MutableMapping, Sequence 3 - from typing import Any, cast, Generic, get_args, Iterable, Literal, NoReturn, Optional, TypeVar 3 + from typing import Any, Callable, cast, Generic, get_args, Iterable, Literal, NoReturn, Optional, TypeVar 4 4 5 5 import dataclasses 6 6 import re ··· 12 12 from markdown_it.utils import OptionsDict 13 13 from mdit_py_plugins.container import container_plugin # type: ignore[attr-defined] 14 14 from mdit_py_plugins.deflist import deflist_plugin # type: ignore[attr-defined] 15 + from mdit_py_plugins.footnote import footnote_plugin # type: ignore[attr-defined] 15 16 from mdit_py_plugins.myst_role import myst_role_plugin # type: ignore[attr-defined] 16 17 17 18 _md_escape_table = { ··· 41 40 ticks, sep = ('`' * (longest + (3 if multiline else 1)), '\n' if multiline else ' ') 42 41 return f"{ticks}{info}{sep}{code}{sep}{ticks}" 43 42 44 - AttrBlockKind = Literal['admonition', 'example'] 43 + AttrBlockKind = Literal['admonition', 'example', 'figure'] 45 44 46 45 AdmonitionKind = Literal["note", "caution", "tip", "important", "warning"] 47 46 ··· 91 90 "example_close": self.example_close, 92 91 "example_title_open": self.example_title_open, 93 92 "example_title_close": self.example_title_close, 93 + "image": self.image, 94 + "figure_open": self.figure_open, 95 + "figure_close": self.figure_close, 96 + "figure_title_open": self.figure_title_open, 97 + "figure_title_close": self.figure_title_close, 98 + "table_open": self.table_open, 99 + "table_close": self.table_close, 100 + "thead_open": self.thead_open, 101 + "thead_close": self.thead_close, 102 + "tr_open": self.tr_open, 103 + "tr_close": self.tr_close, 104 + "th_open": self.th_open, 105 + "th_close": self.th_close, 106 + "tbody_open": self.tbody_open, 107 + "tbody_close": self.tbody_close, 108 + "td_open": self.td_open, 109 + "td_close": self.td_close, 110 + "footnote_ref": self.footnote_ref, 111 + "footnote_block_open": self.footnote_block_open, 112 + "footnote_block_close": self.footnote_block_close, 113 + "footnote_open": self.footnote_open, 114 + "footnote_close": self.footnote_close, 115 + "footnote_anchor": self.footnote_anchor, 94 116 } 95 117 96 118 self._admonitions = { ··· 249 225 raise RuntimeError("md token not supported", token) 250 226 def example_title_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 251 227 raise RuntimeError("md token not supported", token) 228 + def image(self, token: Token, tokens: Sequence[Token], i: int) -> str: 229 + raise RuntimeError("md token not supported", token) 230 + def figure_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: 231 + raise RuntimeError("md token not supported", token) 232 + def figure_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 233 + raise RuntimeError("md token not supported", token) 234 + def figure_title_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: 235 + raise RuntimeError("md token not supported", token) 236 + def figure_title_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 237 + raise RuntimeError("md token not supported", token) 238 + def table_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: 239 + raise RuntimeError("md token not supported", token) 240 + def table_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 241 + raise RuntimeError("md token not supported", token) 242 + def thead_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: 243 + raise RuntimeError("md token not supported", token) 244 + def thead_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 245 + raise RuntimeError("md token not supported", token) 246 + def tr_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: 247 + raise RuntimeError("md token not supported", token) 248 + def tr_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 249 + raise RuntimeError("md token not supported", token) 250 + def th_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: 251 + raise RuntimeError("md token not supported", token) 252 + def th_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 253 + raise RuntimeError("md token not supported", token) 254 + def tbody_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: 255 + raise RuntimeError("md token not supported", token) 256 + def tbody_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 257 + raise RuntimeError("md token not supported", token) 258 + def td_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: 259 + raise RuntimeError("md token not supported", token) 260 + def td_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 261 + raise RuntimeError("md token not supported", token) 262 + def footnote_ref(self, token: Token, tokens: Sequence[Token], i: int) -> str: 263 + raise RuntimeError("md token not supported", token) 264 + def footnote_block_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: 265 + raise RuntimeError("md token not supported", token) 266 + def footnote_block_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 267 + raise RuntimeError("md token not supported", token) 268 + def footnote_open(self, token: Token, tokens: Sequence[Token], i: int) -> str: 269 + raise RuntimeError("md token not supported", token) 270 + def footnote_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: 271 + raise RuntimeError("md token not supported", token) 272 + def footnote_anchor(self, token: Token, tokens: Sequence[Token], i: int) -> str: 273 + raise RuntimeError("md token not supported", token) 252 274 253 275 def _is_escaped(src: str, pos: int) -> bool: 254 276 found = 0 ··· 337 267 return ('admonition', id, classes) 338 268 if classes == ['example']: 339 269 return ('example', id, classes) 270 + elif classes == ['figure']: 271 + return ('figure', id, classes) 340 272 return None 341 273 342 274 def _attr_span_plugin(md: markdown_it.MarkdownIt) -> None: ··· 440 368 441 369 md.core.ruler.before("replacements", "heading_ids", heading_ids) 442 370 371 + def _footnote_ids(md: markdown_it.MarkdownIt) -> None: 372 + """generate ids for footnotes, their refs, and their backlinks. the ids we 373 + generate here are derived from the footnote label, making numeric footnote 374 + labels invalid. 375 + """ 376 + def generate_ids(tokens: Sequence[Token]) -> None: 377 + for token in tokens: 378 + if token.type == 'footnote_open': 379 + if token.meta["label"][:1].isdigit(): 380 + assert token.map 381 + raise RuntimeError(f"invalid footnote label in line {token.map[0] + 1}") 382 + token.attrs['id'] = token.meta["label"] 383 + elif token.type == 'footnote_anchor': 384 + token.meta['target'] = f'{token.meta["label"]}.__back.{token.meta["subId"]}' 385 + elif token.type == 'footnote_ref': 386 + token.attrs['id'] = f'{token.meta["label"]}.__back.{token.meta["subId"]}' 387 + token.meta['target'] = token.meta["label"] 388 + elif token.type == 'inline': 389 + assert token.children 390 + generate_ids(token.children) 391 + 392 + def footnote_ids(state: markdown_it.rules_core.StateCore) -> None: 393 + generate_ids(state.tokens) 394 + 395 + md.core.ruler.after("footnote_tail", "footnote_ids", footnote_ids) 396 + 443 397 def _compact_list_attr(md: markdown_it.MarkdownIt) -> None: 444 398 @dataclasses.dataclass 445 399 class Entry: ··· 514 416 if id is not None: 515 417 token.attrs['id'] = id 516 418 stack.append('example_close') 419 + elif kind == 'figure': 420 + token.type = 'figure_open' 421 + if id is not None: 422 + token.attrs['id'] = id 423 + stack.append('figure_close') 517 424 else: 518 425 assert_never(kind) 519 426 elif token.type == 'container_blockattr_close': ··· 526 423 527 424 md.core.ruler.push("block_attr", block_attr) 528 425 529 - def _example_titles(md: markdown_it.MarkdownIt) -> None: 426 + def _block_titles(block: str) -> Callable[[markdown_it.MarkdownIt], None]: 427 + open, close = f'{block}_open', f'{block}_close' 428 + title_open, title_close = f'{block}_title_open', f'{block}_title_close' 429 + 530 430 """ 531 - find title headings of examples and stick them into meta for renderers, then 532 - remove them from the token stream. also checks whether any example contains a 431 + find title headings of blocks and stick them into meta for renderers, then 432 + remove them from the token stream. also checks whether any block contains a 533 433 non-title heading since those would make toc generation extremely complicated. 534 434 """ 535 - def example_titles(state: markdown_it.rules_core.StateCore) -> None: 435 + def block_titles(state: markdown_it.rules_core.StateCore) -> None: 536 436 in_example = [False] 537 437 for i, token in enumerate(state.tokens): 538 - if token.type == 'example_open': 438 + if token.type == open: 539 439 if state.tokens[i + 1].type == 'heading_open': 540 440 assert state.tokens[i + 3].type == 'heading_close' 541 - state.tokens[i + 1].type = 'example_title_open' 542 - state.tokens[i + 3].type = 'example_title_close' 441 + state.tokens[i + 1].type = title_open 442 + state.tokens[i + 3].type = title_close 543 443 else: 544 444 assert token.map 545 - raise RuntimeError(f"found example without title in line {token.map[0] + 1}") 445 + raise RuntimeError(f"found {block} without title in line {token.map[0] + 1}") 546 446 in_example.append(True) 547 - elif token.type == 'example_close': 447 + elif token.type == close: 548 448 in_example.pop() 549 449 elif token.type == 'heading_open' and in_example[-1]: 550 450 assert token.map 551 - raise RuntimeError(f"unexpected non-title heading in example in line {token.map[0] + 1}") 451 + raise RuntimeError(f"unexpected non-title heading in {block} in line {token.map[0] + 1}") 552 452 553 - md.core.ruler.push("example_titles", example_titles) 453 + def do_add(md: markdown_it.MarkdownIt) -> None: 454 + md.core.ruler.push(f"{block}_titles", block_titles) 455 + 456 + return do_add 554 457 555 458 TR = TypeVar('TR', bound='Renderer') 556 459 ··· 587 478 }, 588 479 renderer_cls=self.ForbiddenRenderer 589 480 ) 481 + self._md.enable('table') 590 482 self._md.use( 591 483 container_plugin, 592 484 name="blockattr", 593 485 validate=lambda name, *args: _parse_blockattrs(name), 594 486 ) 595 487 self._md.use(deflist_plugin) 488 + self._md.use(footnote_plugin) 596 489 self._md.use(myst_role_plugin) 597 490 self._md.use(_attr_span_plugin) 598 491 self._md.use(_inline_comment_plugin) 599 492 self._md.use(_block_comment_plugin) 600 493 self._md.use(_heading_ids) 494 + self._md.use(_footnote_ids) 601 495 self._md.use(_compact_list_attr) 602 496 self._md.use(_block_attr) 603 - self._md.use(_example_titles) 497 + self._md.use(_block_titles("example")) 498 + self._md.use(_block_titles("figure")) 604 499 self._md.enable(["smartquotes", "replacements"]) 605 500 606 501 def _parse(self, src: str) -> list[Token]:
+6
pkgs/tools/nix/nixos-render-docs/src/tests/test_commonmark.py
··· 91 91 - *‌more stuff in same deflist‌* 92 92     93 93 foo""".replace(' ', ' ') 94 + 95 + def test_images() -> None: 96 + c = Converter({}) 97 + assert c._render("![*alt text*](foo \"title \\\"quoted\\\" text\")") == ( 98 + "![*alt text*](foo \"title \\\"quoted\\\" text\")" 99 + )
+78 -1
pkgs/tools/nix/nixos-render-docs/src/tests/test_html.py
··· 1 1 import nixos_render_docs as nrd 2 2 import pytest 3 + import textwrap 3 4 4 5 from sample_md import sample1 6 + 7 + class Renderer(nrd.html.HTMLRenderer): 8 + def _pull_image(self, src: str) -> str: 9 + return src 5 10 6 11 class Converter(nrd.md.Converter[nrd.html.HTMLRenderer]): 7 12 def __init__(self, manpage_urls: dict[str, str], xrefs: dict[str, nrd.manual_structure.XrefTarget]): 8 13 super().__init__() 9 - self._renderer = nrd.html.HTMLRenderer(manpage_urls, xrefs) 14 + self._renderer = Renderer(manpage_urls, xrefs) 10 15 11 16 def unpretty(s: str) -> str: 12 17 return "".join(map(str.strip, s.splitlines())).replace('␣', ' ').replace('↵', '\n') ··· 73 68 with pytest.raises(nrd.html.UnresolvedXrefError) as exc: 74 69 c._render("[](#baz)") 75 70 assert exc.value.args[0] == 'bad local reference, id #baz not known' 71 + 72 + def test_images() -> None: 73 + c = Converter({}, {}) 74 + assert c._render("![*alt text*](foo \"title text\")") == unpretty(""" 75 + <p> 76 + <div class="mediaobject"> 77 + <img src="foo" alt="*alt text*" title="title text" /> 78 + </div> 79 + </p> 80 + """) 81 + 82 + def test_tables() -> None: 83 + c = Converter({}, {}) 84 + assert c._render(textwrap.dedent(""" 85 + | d | l | m | r | 86 + |---|:--|:-:|--:| 87 + | a | b | c | d | 88 + """)) == unpretty(""" 89 + <div class="informaltable"> 90 + <table class="informaltable" border="1"> 91 + <colgroup> 92 + <col align="left" /> 93 + <col align="left" /> 94 + <col align="center" /> 95 + <col align="right" /> 96 + </colgroup> 97 + <thead> 98 + <tr> 99 + <th align="left">d</th> 100 + <th align="left">l</th> 101 + <th align="center">m</th> 102 + <th align="right">r</th> 103 + </tr> 104 + </thead> 105 + <tbody> 106 + <tr> 107 + <td align="left">a</td> 108 + <td align="left">b</td> 109 + <td align="center">c</td> 110 + <td align="right">d</td> 111 + </tr> 112 + </tbody> 113 + </table> 114 + </div> 115 + """) 116 + 117 + def test_footnotes() -> None: 118 + c = Converter({}, { 119 + "bar": nrd.manual_structure.XrefTarget("bar", "", None, None, ""), 120 + "bar.__back.0": nrd.manual_structure.XrefTarget("bar.__back.0", "", None, None, ""), 121 + "bar.__back.1": nrd.manual_structure.XrefTarget("bar.__back.1", "", None, None, ""), 122 + }) 123 + assert c._render(textwrap.dedent(""" 124 + foo [^bar] baz [^bar] 125 + 126 + [^bar]: note 127 + """)) == unpretty(""" 128 + <p> 129 + foo <a href="#bar" class="footnote" id="bar.__back.0"><sup class="footnote">[1]</sup></a>␣ 130 + baz <a href="#bar" class="footnote" id="bar.__back.1"><sup class="footnote">[1]</sup></a> 131 + </p> 132 + <div class="footnotes"> 133 + <br /> 134 + <hr style="width:100; text-align:left;margin-left: 0" /> 135 + <div id="bar" class="footnote"> 136 + <p> 137 + note<a href="#bar.__back.0" class="para"><sup class="para">[1]</sup></a> 138 + <a href="#bar.__back.1" class="para"><sup class="para">[1]</sup></a> 139 + </p> 140 + </div> 141 + </div> 142 + """) 76 143 77 144 def test_full() -> None: 78 145 c = Converter({ 'man(1)': 'http://example.org' }, {})
+25
pkgs/tools/nix/nixos-render-docs/src/tests/test_plugins.py
··· 501 501 with pytest.raises(RuntimeError) as exc: 502 502 c._parse("::: {.example}\n### foo\n### bar\n:::") 503 503 assert exc.value.args[0] == 'unexpected non-title heading in example in line 3' 504 + 505 + def test_footnotes() -> None: 506 + c = Converter({}) 507 + assert c._parse("text [^foo]\n\n[^foo]: bar") == [ 508 + Token(type='paragraph_open', tag='p', nesting=1, map=[0, 1], block=True), 509 + Token(type='inline', tag='', nesting=0, map=[0, 1], level=1, content='text [^foo]', block=True, 510 + children=[ 511 + Token(type='text', tag='', nesting=0, content='text '), 512 + Token(type='footnote_ref', tag='', nesting=0, attrs={'id': 'foo.__back.0'}, 513 + meta={'id': 0, 'subId': 0, 'label': 'foo', 'target': 'foo'}) 514 + ]), 515 + Token(type='paragraph_close', tag='p', nesting=-1, block=True), 516 + Token(type='footnote_block_open', tag='', nesting=1), 517 + Token(type='footnote_open', tag='', nesting=1, attrs={'id': 'foo'}, meta={'id': 0, 'label': 'foo'}), 518 + Token(type='paragraph_open', tag='p', nesting=1, map=[2, 3], level=1, block=True, hidden=False), 519 + Token(type='inline', tag='', nesting=0, map=[2, 3], level=2, content='bar', block=True, 520 + children=[ 521 + Token(type='text', tag='', nesting=0, content='bar') 522 + ]), 523 + Token(type='footnote_anchor', tag='', nesting=0, 524 + meta={'id': 0, 'label': 'foo', 'subId': 0, 'target': 'foo.__back.0'}), 525 + Token(type='paragraph_close', tag='p', nesting=-1, level=1, block=True), 526 + Token(type='footnote_close', tag='', nesting=-1), 527 + Token(type='footnote_block_close', tag='', nesting=-1), 528 + ]
+3 -3
pkgs/tools/security/nuclei/default.nix
··· 5 5 6 6 buildGoModule rec { 7 7 pname = "nuclei"; 8 - version = "2.9.7"; 8 + version = "2.9.8"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "projectdiscovery"; 12 12 repo = pname; 13 13 rev = "v${version}"; 14 - hash = "sha256-w9XiXZzkDM1ZETzs/c3uMEoaRXUXKzpzn3k3RbgTXbE="; 14 + hash = "sha256-0rviTlnsI4BfWDJMgbkma44xauDhlZB2d15uel4/Y3M="; 15 15 }; 16 16 17 - vendorHash = "sha256-T09uSUBRZGsI732723UTd2jOT9/pYjUp+nshWthGA1k="; 17 + vendorHash = "sha256-OSaxxfUZBimMaM81Y2lV9CIxYCS1HCngCENFROZiikg="; 18 18 19 19 modRoot = "./v2"; 20 20 subPackages = [
+6
pkgs/top-level/all-packages.nix
··· 13619 13619 13620 13620 ubi_reader = callPackage ../tools/filesystems/ubi_reader { }; 13621 13621 13622 + ubpm = libsForQt5.callPackage ../applications/misc/ubpm { }; 13623 + 13622 13624 ubridge = callPackage ../tools/networking/ubridge { }; 13623 13625 13624 13626 ubertooth = callPackage ../applications/radio/ubertooth { }; ··· 30776 30774 helix = callPackage ../applications/editors/helix { }; 30777 30775 30778 30776 icesl = callPackage ../applications/misc/icesl { }; 30777 + 30778 + input-leap = libsForQt5.callPackage ../applications/misc/input-leap { 30779 + avahi = avahi.override { withLibdnssdCompat = true; }; 30780 + }; 30779 30781 30780 30782 karlender = callPackage ../applications/office/karlender { }; 30781 30783
+10
pkgs/top-level/python-packages.nix
··· 6211 6211 md2gemini = callPackage ../development/python-modules/md2gemini { }; 6212 6212 6213 6213 mdformat = callPackage ../development/python-modules/mdformat { }; 6214 + mdformat-admon = callPackage ../development/python-modules/mdformat-admon { }; 6215 + mdformat-beautysh = callPackage ../development/python-modules/mdformat-beautysh { }; 6216 + mdformat-footnote = callPackage ../development/python-modules/mdformat-footnote { }; 6217 + mdformat-frontmatter = callPackage ../development/python-modules/mdformat-frontmatter { }; 6218 + mdformat-gfm = callPackage ../development/python-modules/mdformat-gfm { }; 6219 + mdformat-mkdocs = callPackage ../development/python-modules/mdformat-mkdocs { }; 6220 + mdformat-nix-alejandra = callPackage ../development/python-modules/mdformat-nix-alejandra { }; 6221 + mdformat-simple-breaks = callPackage ../development/python-modules/mdformat-simple-breaks { }; 6222 + mdformat-tables = callPackage ../development/python-modules/mdformat-tables { }; 6223 + mdformat-toc = callPackage ../development/python-modules/mdformat-toc { }; 6214 6224 6215 6225 mdit-py-plugins = callPackage ../development/python-modules/mdit-py-plugins { }; 6216 6226