Merge master into staging-next

authored by

github-actions[bot] and committed by
GitHub
1c50878b bb935706

+1054 -979
+1 -1
doc/doc-support/default.nix
··· 75 75 ln -s ${epub-xsl} ./epub.xsl 76 76 ln -s ${xhtml-xsl} ./xhtml.xsl 77 77 78 - ln -s ${../../nixos/doc/xmlformat.conf} ./xmlformat.conf 78 + ln -s ${./xmlformat.conf} ./xmlformat.conf 79 79 ln -s ${pkgs.documentation-highlighter} ./highlightjs 80 80 81 81 echo -n "${version}" > ./version
-6
maintainers/maintainer-list.nix
··· 3762 3762 githubId = 14034137; 3763 3763 name = "Mostly Void"; 3764 3764 }; 3765 - dizfer = { 3766 - email = "david@izquierdofernandez.com"; 3767 - github = "DIzFer"; 3768 - githubId = 8852888; 3769 - name = "David Izquierdo"; 3770 - }; 3771 3765 djacu = { 3772 3766 email = "daniel.n.baker@gmail.com"; 3773 3767 github = "djacu";
-2
nixos/doc/manual/.gitignore
··· 1 - generated 2 - manual-combined.xml
-30
nixos/doc/manual/Makefile
··· 1 - .PHONY: all 2 - all: manual-combined.xml 3 - 4 - .PHONY: debug 5 - debug: generated manual-combined.xml 6 - 7 - manual-combined.xml: generated *.xml **/*.xml 8 - rm -f ./manual-combined.xml 9 - nix-shell --pure -Q --packages xmloscopy \ 10 - --run "xmloscopy --docbook5 ./manual.xml ./manual-combined.xml" 11 - 12 - .PHONY: format 13 - format: 14 - nix-shell --pure -Q --packages xmlformat \ 15 - --run "find ../../ -iname '*.xml' -type f -print0 | xargs -0 -I{} -n1 \ 16 - xmlformat --config-file '../xmlformat.conf' -i {}" 17 - 18 - .PHONY: fix-misc-xml 19 - fix-misc-xml: 20 - find . -iname '*.xml' -type f \ 21 - -exec ../varlistentry-fixer.rb {} ';' 22 - 23 - .PHONY: clean 24 - clean: 25 - rm -f manual-combined.xml generated 26 - 27 - generated: 28 - nix-build ../../release.nix \ 29 - --attr manualGeneratedSources.x86_64-linux \ 30 - --out-link ./generated
+4 -4
nixos/doc/manual/administration/containers.chapter.md
··· 21 21 approach, containers are configured and updated independently from the 22 22 host system. 23 23 24 - ```{=docbook} 25 - <xi:include href="imperative-containers.section.xml" /> 26 - <xi:include href="declarative-containers.section.xml" /> 27 - <xi:include href="container-networking.section.xml" /> 24 + ```{=include=} sections 25 + imperative-containers.section.md 26 + declarative-containers.section.md 27 + container-networking.section.md 28 28 ```
+14
nixos/doc/manual/administration/running.md
··· 1 + # Administration {#ch-running} 2 + 3 + This chapter describes various aspects of managing a running NixOS system, such as how to use the {command}`systemd` service manager. 4 + 5 + ```{=include=} chapters 6 + service-mgmt.chapter.md 7 + rebooting.chapter.md 8 + user-sessions.chapter.md 9 + control-groups.chapter.md 10 + logging.chapter.md 11 + cleaning-store.chapter.md 12 + containers.chapter.md 13 + troubleshooting.chapter.md 14 + ```
-21
nixos/doc/manual/administration/running.xml
··· 1 - <part 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 - version="5.0" 5 - xml:id="ch-running"> 6 - <title>Administration</title> 7 - <partintro xml:id="ch-running-intro"> 8 - <para> 9 - This chapter describes various aspects of managing a running NixOS system, 10 - such as how to use the <command>systemd</command> service manager. 11 - </para> 12 - </partintro> 13 - <xi:include href="../from_md/administration/service-mgmt.chapter.xml" /> 14 - <xi:include href="../from_md/administration/rebooting.chapter.xml" /> 15 - <xi:include href="../from_md/administration/user-sessions.chapter.xml" /> 16 - <xi:include href="../from_md/administration/control-groups.chapter.xml" /> 17 - <xi:include href="../from_md/administration/logging.chapter.xml" /> 18 - <xi:include href="../from_md/administration/cleaning-store.chapter.xml" /> 19 - <xi:include href="../from_md/administration/containers.chapter.xml" /> 20 - <xi:include href="../from_md/administration/troubleshooting.chapter.xml" /> 21 - </part>
+6 -6
nixos/doc/manual/administration/troubleshooting.chapter.md
··· 3 3 This chapter describes solutions to common problems you might encounter 4 4 when you manage your NixOS system. 5 5 6 - ```{=docbook} 7 - <xi:include href="boot-problems.section.xml" /> 8 - <xi:include href="maintenance-mode.section.xml" /> 9 - <xi:include href="rollback.section.xml" /> 10 - <xi:include href="store-corruption.section.xml" /> 11 - <xi:include href="network-problems.section.xml" /> 6 + ```{=include=} sections 7 + boot-problems.section.md 8 + maintenance-mode.section.md 9 + rollback.section.md 10 + store-corruption.section.md 11 + network-problems.section.md 12 12 ```
+4 -4
nixos/doc/manual/configuration/config-syntax.chapter.md
··· 11 11 here we give a short overview of the most important constructs useful in 12 12 NixOS configuration files. 13 13 14 - ```{=docbook} 15 - <xi:include href="config-file.section.xml" /> 16 - <xi:include href="abstractions.section.xml" /> 17 - <xi:include href="modularity.section.xml" /> 14 + ```{=include=} sections 15 + config-file.section.md 16 + abstractions.section.md 17 + modularity.section.md 18 18 ```
+27
nixos/doc/manual/configuration/configuration.md
··· 1 + # Configuration {#ch-configuration} 2 + 3 + This chapter describes how to configure various aspects of a NixOS machine through the configuration file {file}`/etc/nixos/configuration.nix`. As described in [](#sec-changing-config), changes to this file only take effect after you run {command}`nixos-rebuild`. 4 + 5 + ```{=include=} chapters 6 + config-syntax.chapter.md 7 + package-mgmt.chapter.md 8 + user-mgmt.chapter.md 9 + file-systems.chapter.md 10 + x-windows.chapter.md 11 + wayland.chapter.md 12 + gpu-accel.chapter.md 13 + xfce.chapter.md 14 + networking.chapter.md 15 + linux-kernel.chapter.md 16 + subversion.chapter.md 17 + ``` 18 + 19 + ```{=include=} chapters 20 + @MODULE_CHAPTERS@ 21 + ``` 22 + 23 + ```{=include=} chapters 24 + profiles.chapter.md 25 + kubernetes.chapter.md 26 + ``` 27 + <!-- Apache; libvirtd virtualisation -->
-31
nixos/doc/manual/configuration/configuration.xml
··· 1 - <part 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 - version="5.0" 5 - xml:id="ch-configuration"> 6 - <title>Configuration</title> 7 - <partintro xml:id="ch-configuration-intro"> 8 - <para> 9 - This chapter describes how to configure various aspects of a NixOS machine 10 - through the configuration file 11 - <filename>/etc/nixos/configuration.nix</filename>. As described in 12 - <xref linkend="sec-changing-config" />, changes to this file only take 13 - effect after you run <command>nixos-rebuild</command>. 14 - </para> 15 - </partintro> 16 - <xi:include href="../from_md/configuration/config-syntax.chapter.xml" /> 17 - <xi:include href="../from_md/configuration/package-mgmt.chapter.xml" /> 18 - <xi:include href="../from_md/configuration/user-mgmt.chapter.xml" /> 19 - <xi:include href="../from_md/configuration/file-systems.chapter.xml" /> 20 - <xi:include href="../from_md/configuration/x-windows.chapter.xml" /> 21 - <xi:include href="../from_md/configuration/wayland.chapter.xml" /> 22 - <xi:include href="../from_md/configuration/gpu-accel.chapter.xml" /> 23 - <xi:include href="../from_md/configuration/xfce.chapter.xml" /> 24 - <xi:include href="../from_md/configuration/networking.chapter.xml" /> 25 - <xi:include href="../from_md/configuration/linux-kernel.chapter.xml" /> 26 - <xi:include href="../from_md/configuration/subversion.chapter.xml" /> 27 - <xi:include href="../generated/modules.xml" xpointer="xpointer(//section[@id='modules']/*)" /> 28 - <xi:include href="../from_md/configuration/profiles.chapter.xml" /> 29 - <xi:include href="../from_md/configuration/kubernetes.chapter.xml" /> 30 - <!-- Apache; libvirtd virtualisation --> 31 - </part>
+3 -3
nixos/doc/manual/configuration/declarative-packages.section.md
··· 40 40 To "uninstall" a package, simply remove it from 41 41 [](#opt-environment.systemPackages) and run `nixos-rebuild switch`. 42 42 43 - ```{=docbook} 44 - <xi:include href="customizing-packages.section.xml" /> 45 - <xi:include href="adding-custom-packages.section.xml" /> 43 + ```{=include=} sections 44 + customizing-packages.section.md 45 + adding-custom-packages.section.md 46 46 ```
+3 -3
nixos/doc/manual/configuration/file-systems.chapter.md
··· 36 36 and non-critical by adding `options = [ "nofail" ];`. 37 37 ::: 38 38 39 - ```{=docbook} 40 - <xi:include href="luks-file-systems.section.xml" /> 41 - <xi:include href="sshfs-file-systems.section.xml" /> 39 + ```{=include=} sections 40 + luks-file-systems.section.md 41 + sshfs-file-systems.section.md 42 42 ```
+9 -9
nixos/doc/manual/configuration/networking.chapter.md
··· 3 3 This section describes how to configure networking components 4 4 on your NixOS machine. 5 5 6 - ```{=docbook} 7 - <xi:include href="network-manager.section.xml" /> 8 - <xi:include href="ssh.section.xml" /> 9 - <xi:include href="ipv4-config.section.xml" /> 10 - <xi:include href="ipv6-config.section.xml" /> 11 - <xi:include href="firewall.section.xml" /> 12 - <xi:include href="wireless.section.xml" /> 13 - <xi:include href="ad-hoc-network-config.section.xml" /> 14 - <xi:include href="renaming-interfaces.section.xml" /> 6 + ```{=include=} sections 7 + network-manager.section.md 8 + ssh.section.md 9 + ipv4-config.section.md 10 + ipv6-config.section.md 11 + firewall.section.md 12 + wireless.section.md 13 + ad-hoc-network-config.section.md 14 + renaming-interfaces.section.md 15 15 ``` 16 16 <!-- TODO: OpenVPN, NAT -->
+3 -3
nixos/doc/manual/configuration/package-mgmt.chapter.md
··· 12 12 `nix-env` command. This style allows mixing packages from different 13 13 Nixpkgs versions. It's the only choice for non-root users. 14 14 15 - ```{=docbook} 16 - <xi:include href="declarative-packages.section.xml" /> 17 - <xi:include href="ad-hoc-packages.section.xml" /> 15 + ```{=include=} sections 16 + declarative-packages.section.md 17 + ad-hoc-packages.section.md 18 18 ```
+12 -12
nixos/doc/manual/configuration/profiles.chapter.md
··· 19 19 What follows is a brief explanation on the purpose and use-case for each 20 20 profile. Detailing each option configured by each one is out of scope. 21 21 22 - ```{=docbook} 23 - <xi:include href="profiles/all-hardware.section.xml" /> 24 - <xi:include href="profiles/base.section.xml" /> 25 - <xi:include href="profiles/clone-config.section.xml" /> 26 - <xi:include href="profiles/demo.section.xml" /> 27 - <xi:include href="profiles/docker-container.section.xml" /> 28 - <xi:include href="profiles/graphical.section.xml" /> 29 - <xi:include href="profiles/hardened.section.xml" /> 30 - <xi:include href="profiles/headless.section.xml" /> 31 - <xi:include href="profiles/installation-device.section.xml" /> 32 - <xi:include href="profiles/minimal.section.xml" /> 33 - <xi:include href="profiles/qemu-guest.section.xml" /> 22 + ```{=include=} sections 23 + profiles/all-hardware.section.md 24 + profiles/base.section.md 25 + profiles/clone-config.section.md 26 + profiles/demo.section.md 27 + profiles/docker-container.section.md 28 + profiles/graphical.section.md 29 + profiles/hardened.section.md 30 + profiles/headless.section.md 31 + profiles/installation-device.section.md 32 + profiles/minimal.section.md 33 + profiles/qemu-guest.section.md 34 34 ```
+79 -98
nixos/doc/manual/default.nix
··· 68 68 optionIdPrefix = "test-opt-"; 69 69 }; 70 70 71 - sources = runCommand "manual-sources" { 72 - inputs = lib.sourceFilesBySuffices ./. [ ".xml" ".md" ]; 73 - nativeBuildInputs = [ pkgs.nixos-render-docs ]; 74 - } '' 75 - mkdir $out 76 - cd $out 77 - cp -r --no-preserve=all $inputs/* . 78 - 79 - declare -a convert_args 80 - while read -r mf; do 81 - if [[ "$mf" = *.chapter.md ]]; then 82 - convert_args+=("--chapter") 83 - else 84 - convert_args+=("--section") 85 - fi 86 - 87 - convert_args+=("from_md/''${mf%.md}.xml" "$mf") 88 - done < <(find . -type f -name '*.md') 89 - 90 - nixos-render-docs manual docbook-fragment \ 91 - --manpage-urls ${manpageUrls} \ 92 - "''${convert_args[@]}" 93 - ''; 94 - 95 - modulesDoc = runCommand "modules.xml" { 96 - nativeBuildInputs = [ pkgs.nixos-render-docs ]; 97 - } '' 98 - nixos-render-docs manual docbook-section \ 99 - --manpage-urls ${manpageUrls} \ 100 - "$out" \ 101 - --section \ 102 - --section-id modules \ 103 - --chapters ${lib.concatMapStrings (p: "${p.value} ") config.meta.doc} 104 - ''; 105 - 106 - generatedSources = runCommand "generated-docbook" {} '' 107 - mkdir $out 108 - ln -s ${modulesDoc} $out/modules.xml 109 - ln -s ${optionsDoc.optionsDocBook} $out/options-db.xml 110 - ln -s ${testOptionsDoc.optionsDocBook} $out/test-options-db.xml 111 - printf "%s" "${version}" > $out/version 112 - ''; 113 - 114 - copySources = 115 - '' 116 - cp -prd $sources/* . # */ 117 - ln -s ${generatedSources} ./generated 118 - chmod -R u+w . 119 - ''; 120 - 121 71 toc = builtins.toFile "toc.xml" 122 72 '' 123 73 <toc role="chunk-toc"> ··· 148 98 "--stringparam chunk.toc ${toc}" 149 99 ]; 150 100 101 + linterFunctions = '' 102 + # outputs the context of an xmllint error output 103 + # LEN lines around the failing line are printed 104 + function context { 105 + # length of context 106 + local LEN=6 107 + # lines to print before error line 108 + local BEFORE=4 109 + 110 + # xmllint output lines are: 111 + # file.xml:1234: there was an error on line 1234 112 + while IFS=':' read -r file line rest; do 113 + echo 114 + if [[ -n "$rest" ]]; then 115 + echo "$file:$line:$rest" 116 + local FROM=$(($line>$BEFORE ? $line - $BEFORE : 1)) 117 + # number lines & filter context 118 + nl --body-numbering=a "$file" | sed -n "$FROM,+$LEN p" 119 + else 120 + if [[ -n "$line" ]]; then 121 + echo "$file:$line" 122 + else 123 + echo "$file" 124 + fi 125 + fi 126 + done 127 + } 128 + 129 + function lintrng { 130 + xmllint --debug --noout --nonet \ 131 + --relaxng ${docbook5}/xml/rng/docbook/docbook.rng \ 132 + "$1" \ 133 + 2>&1 | context 1>&2 134 + # ^ redirect assumes xmllint doesn’t print to stdout 135 + } 136 + ''; 137 + 151 138 manual-combined = runCommand "nixos-manual-combined" 152 - { inherit sources; 153 - nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ]; 139 + { inputs = lib.sourceFilesBySuffices ./. [ ".xml" ".md" ]; 140 + nativeBuildInputs = [ pkgs.nixos-render-docs pkgs.libxml2.bin pkgs.libxslt.bin ]; 154 141 meta.description = "The NixOS manual as plain docbook XML"; 155 142 } 156 143 '' 157 - ${copySources} 144 + cp -r --no-preserve=all $inputs/* . 158 145 159 - xmllint --xinclude --output ./manual-combined.xml ./manual.xml 160 - xmllint --xinclude --noxincludenode \ 161 - --output ./man-pages-combined.xml ./man-pages.xml 162 - 163 - # outputs the context of an xmllint error output 164 - # LEN lines around the failing line are printed 165 - function context { 166 - # length of context 167 - local LEN=6 168 - # lines to print before error line 169 - local BEFORE=4 146 + substituteInPlace ./manual.md \ 147 + --replace '@NIXOS_VERSION@' "${version}" 148 + substituteInPlace ./configuration/configuration.md \ 149 + --replace \ 150 + '@MODULE_CHAPTERS@' \ 151 + ${lib.escapeShellArg (lib.concatMapStringsSep "\n" (p: "${p.value}") config.meta.doc)} 152 + substituteInPlace ./nixos-options.md \ 153 + --replace \ 154 + '@NIXOS_OPTIONS_JSON@' \ 155 + ${optionsDoc.optionsJSON}/share/doc/nixos/options.json 156 + substituteInPlace ./development/writing-nixos-tests.section.md \ 157 + --replace \ 158 + '@NIXOS_TEST_OPTIONS_JSON@' \ 159 + ${testOptionsDoc.optionsJSON}/share/doc/nixos/options.json 170 160 171 - # xmllint output lines are: 172 - # file.xml:1234: there was an error on line 1234 173 - while IFS=':' read -r file line rest; do 174 - echo 175 - if [[ -n "$rest" ]]; then 176 - echo "$file:$line:$rest" 177 - local FROM=$(($line>$BEFORE ? $line - $BEFORE : 1)) 178 - # number lines & filter context 179 - nl --body-numbering=a "$file" | sed -n "$FROM,+$LEN p" 180 - else 181 - if [[ -n "$line" ]]; then 182 - echo "$file:$line" 183 - else 184 - echo "$file" 185 - fi 186 - fi 187 - done 188 - } 161 + nixos-render-docs manual docbook \ 162 + --manpage-urls ${manpageUrls} \ 163 + --revision ${lib.escapeShellArg revision} \ 164 + ./manual.md \ 165 + ./manual-combined.xml 189 166 190 - function lintrng { 191 - xmllint --debug --noout --nonet \ 192 - --relaxng ${docbook5}/xml/rng/docbook/docbook.rng \ 193 - "$1" \ 194 - 2>&1 | context 1>&2 195 - # ^ redirect assumes xmllint doesn’t print to stdout 196 - } 167 + ${linterFunctions} 197 168 198 169 mkdir $out 199 170 cp manual-combined.xml $out/ 200 - cp man-pages-combined.xml $out/ 201 171 202 172 lintrng $out/manual-combined.xml 203 - lintrng $out/man-pages-combined.xml 204 173 ''; 205 174 206 - in rec { 207 - inherit generatedSources; 175 + manpages-combined = runCommand "nixos-manpages-combined.xml" 176 + { nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ]; 177 + meta.description = "The NixOS manpages as plain docbook XML"; 178 + } 179 + '' 180 + mkdir generated 181 + cp -prd ${./man-pages.xml} man-pages.xml 182 + ln -s ${optionsDoc.optionsDocBook} generated/options-db.xml 208 183 184 + xmllint --xinclude --noxincludenode --output $out ./man-pages.xml 185 + 186 + ${linterFunctions} 187 + 188 + lintrng $out 189 + ''; 190 + 191 + in rec { 209 192 inherit (optionsDoc) optionsJSON optionsNix optionsDocBook optionsUsedDocbook; 210 193 211 194 # Generate the NixOS manual. 212 195 manualHTML = runCommand "nixos-manual-html" 213 - { inherit sources; 214 - nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ]; 196 + { nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ]; 215 197 meta.description = "The NixOS manual in HTML format"; 216 198 allowedReferences = ["out"]; 217 199 } ··· 248 230 manualHTMLIndex = "${manualHTML}/share/doc/nixos/index.html"; 249 231 250 232 manualEpub = runCommand "nixos-manual-epub" 251 - { inherit sources; 252 - nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin buildPackages.zip ]; 233 + { nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin buildPackages.zip ]; 253 234 } 254 235 '' 255 236 # Generate the epub manual. ··· 300 281 --param man.endnotes.are.numbered 0 \ 301 282 --param man.break.after.slash 1 \ 302 283 ${docbook_xsl_ns}/xml/xsl/docbook/manpages/docbook.xsl \ 303 - ${manual-combined}/man-pages-combined.xml 284 + ${manpages-combined} 304 285 '' 305 286 else '' 306 287 mkdir -p $out/share/man/man5
+14
nixos/doc/manual/development/development.md
··· 1 + # Development {#ch-development} 2 + 3 + This chapter describes how you can modify and extend NixOS. 4 + 5 + ```{=include=} chapters 6 + sources.chapter.md 7 + writing-modules.chapter.md 8 + building-parts.chapter.md 9 + bootspec.chapter.md 10 + what-happens-during-a-system-switch.chapter.md 11 + writing-documentation.chapter.md 12 + nixos-tests.chapter.md 13 + testing-installer.chapter.md 14 + ```
-20
nixos/doc/manual/development/development.xml
··· 1 - <part 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 - version="5.0" 5 - xml:id="ch-development"> 6 - <title>Development</title> 7 - <partintro xml:id="ch-development-intro"> 8 - <para> 9 - This chapter describes how you can modify and extend NixOS. 10 - </para> 11 - </partintro> 12 - <xi:include href="../from_md/development/sources.chapter.xml" /> 13 - <xi:include href="../from_md/development/writing-modules.chapter.xml" /> 14 - <xi:include href="../from_md/development/building-parts.chapter.xml" /> 15 - <xi:include href="../from_md/development/bootspec.chapter.xml" /> 16 - <xi:include href="../from_md/development/what-happens-during-a-system-switch.chapter.xml" /> 17 - <xi:include href="../from_md/development/writing-documentation.chapter.xml" /> 18 - <xi:include href="../from_md/development/nixos-tests.chapter.xml" /> 19 - <xi:include href="../from_md/development/testing-installer.chapter.xml" /> 20 - </part>
+5 -5
nixos/doc/manual/development/nixos-tests.chapter.md
··· 5 5 (using Nix) by a testing framework that automatically starts one or more 6 6 virtual machines containing the NixOS system(s) required for the test. 7 7 8 - ```{=docbook} 9 - <xi:include href="writing-nixos-tests.section.xml" /> 10 - <xi:include href="running-nixos-tests.section.xml" /> 11 - <xi:include href="running-nixos-tests-interactively.section.xml" /> 12 - <xi:include href="linking-nixos-tests-to-packages.section.xml" /> 8 + ```{=include=} sections 9 + writing-nixos-tests.section.md 10 + running-nixos-tests.section.md 11 + running-nixos-tests-interactively.section.md 12 + linking-nixos-tests-to-packages.section.md 13 13 ```
+3 -3
nixos/doc/manual/development/what-happens-during-a-system-switch.chapter.md
··· 47 47 with our units or the activation script. For this reason, these topics are 48 48 explained in the next sections. 49 49 50 - ```{=docbook} 51 - <xi:include href="unit-handling.section.xml" /> 52 - <xi:include href="activation-script.section.xml" /> 50 + ```{=include=} sections 51 + unit-handling.section.md 52 + activation-script.section.md 53 53 ```
+1 -1
nixos/doc/manual/development/writing-documentation.chapter.md
··· 83 83 84 84 ## Adding a Topic to the Book {#sec-writing-docs-adding-a-topic} 85 85 86 - Open the parent XML file and add an `xi:include` element to the list of 86 + Open the parent CommonMark file and add a line to the list of 87 87 chapters with the file name of the topic that you created. If you 88 88 created a `section`, you add the file to the `chapter` file. If you created 89 89 a `chapter`, you add the file to the `part` file.
+10 -10
nixos/doc/manual/development/writing-modules.chapter.md
··· 189 189 ``` 190 190 ::: 191 191 192 - ```{=docbook} 193 - <xi:include href="option-declarations.section.xml" /> 194 - <xi:include href="option-types.section.xml" /> 195 - <xi:include href="option-def.section.xml" /> 196 - <xi:include href="assertions.section.xml" /> 197 - <xi:include href="meta-attributes.section.xml" /> 198 - <xi:include href="importing-modules.section.xml" /> 199 - <xi:include href="replace-modules.section.xml" /> 200 - <xi:include href="freeform-modules.section.xml" /> 201 - <xi:include href="settings-options.section.xml" /> 192 + ```{=include=} sections 193 + option-declarations.section.md 194 + option-types.section.md 195 + option-def.section.md 196 + assertions.section.md 197 + meta-attributes.section.md 198 + importing-modules.section.md 199 + replace-modules.section.md 200 + freeform-modules.section.md 201 + settings-options.section.md 202 202 ```
+4 -2
nixos/doc/manual/development/writing-nixos-tests.section.md
··· 470 470 471 471 The following options can be used when writing tests. 472 472 473 - ```{=docbook} 474 - <xi:include href="../../generated/test-options-db.xml" xpointer="test-options-list"/> 473 + ```{=include=} options 474 + id-prefix: test-opt- 475 + list-id: test-options-list 476 + source: @NIXOS_TEST_OPTIONS_JSON@ 475 477 ```
+11
nixos/doc/manual/installation/installation.md
··· 1 + # Installation {#ch-installation} 2 + 3 + This section describes how to obtain, install, and configure NixOS for first-time use. 4 + 5 + ```{=include=} chapters 6 + obtaining.chapter.md 7 + installing.chapter.md 8 + changing-config.chapter.md 9 + upgrading.chapter.md 10 + building-nixos.chapter.md 11 + ```
-18
nixos/doc/manual/installation/installation.xml
··· 1 - <part 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 - version="5.0" 5 - xml:id="ch-installation"> 6 - <title>Installation</title> 7 - <partintro xml:id="ch-installation-intro"> 8 - <para> 9 - This section describes how to obtain, install, and configure NixOS for 10 - first-time use. 11 - </para> 12 - </partintro> 13 - <xi:include href="../from_md/installation/obtaining.chapter.xml" /> 14 - <xi:include href="../from_md/installation/installing.chapter.xml" /> 15 - <xi:include href="../from_md/installation/changing-config.chapter.xml" /> 16 - <xi:include href="../from_md/installation/upgrading.chapter.xml" /> 17 - <xi:include href="../from_md/installation/building-nixos.chapter.xml" /> 18 - </part>
+7 -7
nixos/doc/manual/installation/installing.chapter.md
··· 602 602 603 603 ## Additional installation notes {#sec-installation-additional-notes} 604 604 605 - ```{=docbook} 606 - <xi:include href="installing-usb.section.xml" /> 607 - <xi:include href="installing-pxe.section.xml" /> 608 - <xi:include href="installing-kexec.section.xml" /> 609 - <xi:include href="installing-virtualbox-guest.section.xml" /> 610 - <xi:include href="installing-from-other-distro.section.xml" /> 611 - <xi:include href="installing-behind-a-proxy.section.xml" /> 605 + ```{=include=} sections 606 + installing-usb.section.md 607 + installing-pxe.section.md 608 + installing-kexec.section.md 609 + installing-virtualbox-guest.section.md 610 + installing-from-other-distro.section.md 611 + installing-behind-a-proxy.section.md 612 612 ```
-31
nixos/doc/manual/man-configuration.xml
··· 1 - <refentry 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 - <refmeta> 5 - <refentrytitle><filename>configuration.nix</filename> 6 - </refentrytitle><manvolnum>5</manvolnum> 7 - <refmiscinfo class="source">NixOS</refmiscinfo> 8 - <!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> --> 9 - </refmeta> 10 - <refnamediv> 11 - <refname><filename>configuration.nix</filename></refname> 12 - <refpurpose>NixOS system configuration specification</refpurpose> 13 - </refnamediv> 14 - <refsection> 15 - <title>Description</title> 16 - <para> 17 - The file <filename>/etc/nixos/configuration.nix</filename> contains the 18 - declarative specification of your NixOS system configuration. The command 19 - <command>nixos-rebuild</command> takes this file and realises the system 20 - configuration specified therein. 21 - </para> 22 - </refsection> 23 - <refsection> 24 - <title>Options</title> 25 - <para> 26 - You can use the following options in <filename>configuration.nix</filename>. 27 - </para> 28 - <xi:include href="./generated/options-db.xml" 29 - xpointer="configuration-variable-list" /> 30 - </refsection> 31 - </refentry>
+29 -1
nixos/doc/manual/man-pages.xml
··· 14 14 <copyright><year>2007-2022</year><holder>Eelco Dolstra and the Nixpkgs/NixOS contributors</holder> 15 15 </copyright> 16 16 </info> 17 - <xi:include href="man-configuration.xml" /> 17 + <refentry> 18 + <refmeta> 19 + <refentrytitle><filename>configuration.nix</filename> 20 + </refentrytitle><manvolnum>5</manvolnum> 21 + <refmiscinfo class="source">NixOS</refmiscinfo> 22 + <!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> --> 23 + </refmeta> 24 + <refnamediv> 25 + <refname><filename>configuration.nix</filename></refname> 26 + <refpurpose>NixOS system configuration specification</refpurpose> 27 + </refnamediv> 28 + <refsection> 29 + <title>Description</title> 30 + <para> 31 + The file <filename>/etc/nixos/configuration.nix</filename> contains the 32 + declarative specification of your NixOS system configuration. The command 33 + <command>nixos-rebuild</command> takes this file and realises the system 34 + configuration specified therein. 35 + </para> 36 + </refsection> 37 + <refsection> 38 + <title>Options</title> 39 + <para> 40 + You can use the following options in <filename>configuration.nix</filename>. 41 + </para> 42 + <xi:include href="./generated/options-db.xml" 43 + xpointer="configuration-variable-list" /> 44 + </refsection> 45 + </refentry> 18 46 </reference>
+53
nixos/doc/manual/manual.md
··· 1 + # NixOS Manual {#book-nixos-manual} 2 + ## Version @NIXOS_VERSION@ 3 + 4 + <!-- 5 + this is the top-level structure file for the nixos manual. 6 + 7 + the manual structure extends the nixpkgs commonmark further with include 8 + blocks to allow better organization of input text. there are six types of 9 + include blocks: preface, parts, chapters, sections, appendix, and options. 10 + each type except `options`` corresponds to the docbook elements of (roughly) 11 + the same name, and can itself can further include blocks to denote its 12 + substructure. 13 + 14 + non-`options`` include blocks are fenced code blocks that list a number of 15 + files to include, in the form 16 + 17 + ```{=include=} <type> 18 + <file-name-1> 19 + <file-name-2> 20 + <...> 21 + ``` 22 + 23 + `options` include blocks do not list file names but contain a list of key-value 24 + pairs that describe the options to be included and how to convert them into 25 + elements of the manual output type: 26 + 27 + ```{=include=} options 28 + id-prefix: <options id prefix> 29 + list-id: <variable list element id> 30 + source: <path to options.json> 31 + ``` 32 + 33 + --> 34 + 35 + ```{=include=} preface 36 + preface.md 37 + ``` 38 + 39 + ```{=include=} parts 40 + installation/installation.md 41 + configuration/configuration.md 42 + administration/running.md 43 + development/development.md 44 + ``` 45 + 46 + ```{=include=} chapters 47 + contributing-to-this-manual.chapter.md 48 + ``` 49 + 50 + ```{=include=} appendix 51 + nixos-options.md 52 + release-notes/release-notes.md 53 + ```
-23
nixos/doc/manual/manual.xml
··· 1 - <book 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 - version="5.0" 5 - xml:id="book-nixos-manual"> 6 - <info> 7 - <title>NixOS Manual</title> 8 - <subtitle>Version <xi:include href="./generated/version" parse="text" /> 9 - </subtitle> 10 - </info> 11 - <xi:include href="preface.xml" /> 12 - <xi:include href="installation/installation.xml" /> 13 - <xi:include href="configuration/configuration.xml" /> 14 - <xi:include href="administration/running.xml" /> 15 - <xi:include href="development/development.xml" /> 16 - <xi:include href="./from_md/contributing-to-this-manual.chapter.xml" /> 17 - <appendix xml:id="ch-options"> 18 - <title>Configuration Options</title> 19 - <xi:include href="./generated/options-db.xml" 20 - xpointer="configuration-variable-list" /> 21 - </appendix> 22 - <xi:include href="release-notes/release-notes.xml" /> 23 - </book>
+7
nixos/doc/manual/nixos-options.md
··· 1 + # Configuration Options {#ch-options} 2 + 3 + ```{=include=} options 4 + id-prefix: opt- 5 + list-id: configuration-variable-list 6 + source: @NIXOS_OPTIONS_JSON@ 7 + ```
+11
nixos/doc/manual/preface.md
··· 1 + # Preface {#preface} 2 + 3 + This manual describes how to install, use and extend NixOS, a Linux distribution based on the purely functional package management system [Nix](https://nixos.org/nix), that is composed using modules and packages defined in the [Nixpkgs](https://nixos.org/nixpkgs) project. 4 + 5 + Additional information regarding the Nix package manager and the Nixpkgs project can be found in respectively the [Nix manual](https://nixos.org/nix/manual) and the [Nixpkgs manual](https://nixos.org/nixpkgs/manual). 6 + 7 + If you encounter problems, please report them on the [`Discourse`](https://discourse.nixos.org), the [Matrix room](https://matrix.to/#nix:nixos.org), or on the [`#nixos` channel on Libera.Chat](irc://irc.libera.chat/#nixos). Alternatively, consider [contributing to this manual](#chap-contributing). Bugs should be reported in [NixOS’ GitHub issue tracker](https://github.com/NixOS/nixpkgs/issues). 8 + 9 + ::: {.note} 10 + Commands prefixed with `#` have to be run as root, either requiring to login as root user or temporarily switching to it using `sudo` for example. 11 + :::
-42
nixos/doc/manual/preface.xml
··· 1 - <preface xmlns="http://docbook.org/ns/docbook" 2 - xmlns:xlink="http://www.w3.org/1999/xlink" 3 - xml:id="preface"> 4 - <title>Preface</title> 5 - <para> 6 - This manual describes how to install, use and extend NixOS, a Linux 7 - distribution based on the purely functional package management system 8 - <link xlink:href="https://nixos.org/nix">Nix</link>, that is composed 9 - using modules and packages defined in the 10 - <link xlink:href="https://nixos.org/nixpkgs">Nixpkgs</link> project. 11 - </para> 12 - <para> 13 - Additional information regarding the Nix package manager and the Nixpkgs 14 - project can be found in respectively the 15 - <link xlink:href="https://nixos.org/nix/manual">Nix manual</link> and the 16 - <link xlink:href="https://nixos.org/nixpkgs/manual">Nixpkgs manual</link>. 17 - </para> 18 - <para> 19 - If you encounter problems, please report them on the 20 - <literal 21 - xlink:href="https://discourse.nixos.org">Discourse</literal>, 22 - the <link 23 - xlink:href="https://matrix.to/#nix:nixos.org">Matrix room</link>, 24 - or on the <link 25 - xlink:href="irc://irc.libera.chat/#nixos"> 26 - <literal>#nixos</literal> channel on Libera.Chat</link>. 27 - Alternatively, consider <link 28 - xlink:href="#chap-contributing"> 29 - contributing to this manual</link>. Bugs should be 30 - reported in 31 - <link 32 - xlink:href="https://github.com/NixOS/nixpkgs/issues">NixOS’ 33 - GitHub issue tracker</link>. 34 - </para> 35 - <note> 36 - <para> 37 - Commands prefixed with <literal>#</literal> have to be run as root, either 38 - requiring to login as root user or temporarily switching to it using 39 - <literal>sudo</literal> for example. 40 - </para> 41 - </note> 42 - </preface>
+25
nixos/doc/manual/release-notes/release-notes.md
··· 1 + # Release Notes {#ch-release-notes} 2 + 3 + This section lists the release notes for each stable version of NixOS and current unstable revision. 4 + 5 + ```{=include=} sections 6 + rl-2305.section.md 7 + rl-2211.section.md 8 + rl-2205.section.md 9 + rl-2111.section.md 10 + rl-2105.section.md 11 + rl-2009.section.md 12 + rl-2003.section.md 13 + rl-1909.section.md 14 + rl-1903.section.md 15 + rl-1809.section.md 16 + rl-1803.section.md 17 + rl-1709.section.md 18 + rl-1703.section.md 19 + rl-1609.section.md 20 + rl-1603.section.md 21 + rl-1509.section.md 22 + rl-1412.section.md 23 + rl-1404.section.md 24 + rl-1310.section.md 25 + ```
-30
nixos/doc/manual/release-notes/release-notes.xml
··· 1 - <appendix 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 - version="5.0" 5 - xml:id="ch-release-notes"> 6 - <title>Release Notes</title> 7 - <para> 8 - This section lists the release notes for each stable version of NixOS and 9 - current unstable revision. 10 - </para> 11 - <xi:include href="../from_md/release-notes/rl-2305.section.xml" /> 12 - <xi:include href="../from_md/release-notes/rl-2211.section.xml" /> 13 - <xi:include href="../from_md/release-notes/rl-2205.section.xml" /> 14 - <xi:include href="../from_md/release-notes/rl-2111.section.xml" /> 15 - <xi:include href="../from_md/release-notes/rl-2105.section.xml" /> 16 - <xi:include href="../from_md/release-notes/rl-2009.section.xml" /> 17 - <xi:include href="../from_md/release-notes/rl-2003.section.xml" /> 18 - <xi:include href="../from_md/release-notes/rl-1909.section.xml" /> 19 - <xi:include href="../from_md/release-notes/rl-1903.section.xml" /> 20 - <xi:include href="../from_md/release-notes/rl-1809.section.xml" /> 21 - <xi:include href="../from_md/release-notes/rl-1803.section.xml" /> 22 - <xi:include href="../from_md/release-notes/rl-1709.section.xml" /> 23 - <xi:include href="../from_md/release-notes/rl-1703.section.xml" /> 24 - <xi:include href="../from_md/release-notes/rl-1609.section.xml" /> 25 - <xi:include href="../from_md/release-notes/rl-1603.section.xml" /> 26 - <xi:include href="../from_md/release-notes/rl-1509.section.xml" /> 27 - <xi:include href="../from_md/release-notes/rl-1412.section.xml" /> 28 - <xi:include href="../from_md/release-notes/rl-1404.section.xml" /> 29 - <xi:include href="../from_md/release-notes/rl-1310.section.xml" /> 30 - </appendix>
-8
nixos/doc/manual/shell.nix
··· 1 - let 2 - pkgs = import ../../.. { }; 3 - in 4 - pkgs.mkShell { 5 - name = "nixos-manual"; 6 - 7 - packages = with pkgs; [ xmlformat jing xmloscopy ruby ]; 8 - }
-124
nixos/doc/varlistentry-fixer.rb
··· 1 - #!/usr/bin/env ruby 2 - 3 - # This script is written intended as a living, evolving tooling 4 - # to fix oopsies within the docbook documentation. 5 - # 6 - # This is *not* a formatter. It, instead, handles some known cases 7 - # where something bad happened, and fixing it manually is tedious. 8 - # 9 - # Read the code to see the different cases it handles. 10 - # 11 - # ALWAYS `make format` after fixing with this! 12 - # ALWAYS read the changes, this tool isn't yet proven to be always right. 13 - 14 - require "rexml/document" 15 - include REXML 16 - 17 - if ARGV.length < 1 then 18 - $stderr.puts "Needs a filename." 19 - exit 1 20 - end 21 - 22 - filename = ARGV.shift 23 - doc = Document.new(File.open(filename)) 24 - 25 - $touched = false 26 - 27 - # Fixing varnames having a sibling element without spacing. 28 - # This is to fix an initial `xmlformat` issue where `term` 29 - # would mangle as spaces. 30 - # 31 - # <varlistentry> 32 - # <term><varname>types.separatedString</varname><replaceable>sep</replaceable> <---- 33 - # </term> 34 - # ... 35 - # 36 - # Generates: types.separatedStringsep 37 - # ^^^^ 38 - # 39 - # <varlistentry xml:id='fun-makeWrapper'> 40 - # <term> 41 - # <function>makeWrapper</function><replaceable>executable</replaceable><replaceable>wrapperfile</replaceable><replaceable>args</replaceable> <---- 42 - # </term> 43 - # 44 - # Generates: makeWrapperexecutablewrapperfileargs 45 - # ^^^^ ^^^^ ^^ ^^ 46 - # 47 - # <term> 48 - # <option>--option</option><replaceable>name</replaceable><replaceable>value</replaceable> <----- 49 - # </term> 50 - # 51 - # Generates: --optionnamevalue 52 - # ^^ ^^ 53 - doc.elements.each("//varlistentry/term") do |term| 54 - ["varname", "function", "option", "replaceable"].each do |prev_name| 55 - term.elements.each(prev_name) do |el| 56 - if el.next_element and 57 - el.next_element.name == "replaceable" and 58 - el.next_sibling_node.class == Element 59 - then 60 - $touched = true 61 - term.insert_after(el, Text.new(" ")) 62 - end 63 - end 64 - end 65 - end 66 - 67 - 68 - 69 - # <cmdsynopsis> 70 - # <command>nixos-option</command> 71 - # <arg> 72 - # <option>-I</option><replaceable>path</replaceable> <------ 73 - # </arg> 74 - # 75 - # Generates: -Ipath 76 - # ^^ 77 - doc.elements.each("//cmdsynopsis/arg") do |term| 78 - ["option", "replaceable"].each do |prev_name| 79 - term.elements.each(prev_name) do |el| 80 - if el.next_element and 81 - el.next_element.name == "replaceable" and 82 - el.next_sibling_node.class == Element 83 - then 84 - $touched = true 85 - term.insert_after(el, Text.new(" ")) 86 - end 87 - end 88 - end 89 - end 90 - 91 - # <cmdsynopsis> 92 - # <arg> 93 - # <group choice='req'> 94 - # <arg choice='plain'> 95 - # <option>--profile-name</option> 96 - # </arg> 97 - # 98 - # <arg choice='plain'> 99 - # <option>-p</option> 100 - # </arg> 101 - # </group><replaceable>name</replaceable> <---- 102 - # </arg> 103 - # 104 - # Generates: [{--profile-name | -p }name] 105 - # ^^^^ 106 - doc.elements.each("//cmdsynopsis/arg") do |term| 107 - ["group"].each do |prev_name| 108 - term.elements.each(prev_name) do |el| 109 - if el.next_element and 110 - el.next_element.name == "replaceable" and 111 - el.next_sibling_node.class == Element 112 - then 113 - $touched = true 114 - term.insert_after(el, Text.new(" ")) 115 - end 116 - end 117 - end 118 - end 119 - 120 - 121 - if $touched then 122 - doc.context[:attribute_quote] = :quote 123 - doc.write(output: File.open(filename, "w")) 124 - end
nixos/doc/xmlformat.conf doc/doc-support/xmlformat.conf
+1 -1
nixos/modules/services/web-apps/onlyoffice.nix
··· 270 270 wantedBy = [ "multi-user.target" ]; 271 271 serviceConfig = { 272 272 ExecStart = "${cfg.package.fhs}/bin/onlyoffice-wrapper DocService/docservice /run/onlyoffice/config"; 273 - ExecStartPre = onlyoffice-prestart; 273 + ExecStartPre = [ onlyoffice-prestart ]; 274 274 Group = "onlyoffice"; 275 275 Restart = "always"; 276 276 RuntimeDirectory = "onlyoffice";
-1
nixos/release.nix
··· 144 144 manual = manualHTML; # TODO(@oxij): remove eventually 145 145 manualEpub = (buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manualEpub)); 146 146 manpages = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manpages); 147 - manualGeneratedSources = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.generatedSources); 148 147 options = (buildFromConfig ({ ... }: { }) (config: config.system.build.manual.optionsJSON)).x86_64-linux; 149 148 150 149
+33
pkgs/applications/misc/protonup-qt/default.nix
··· 1 + { appimageTools, fetchurl, lib }: 2 + let 3 + pname = "protonup-qt"; 4 + version = "2.7.4"; 5 + src = fetchurl { 6 + url = "https://github.com/DavidoTek/ProtonUp-Qt/releases/download/v${version}/ProtonUp-Qt-${version}-x86_64.AppImage"; 7 + sha256 = "yKc+KOQfqciqULnChVLf6y9npoSYM6Fmu7mYGEKmpkA="; 8 + }; 9 + appimageContents = appimageTools.extractType2 { inherit pname version src; }; 10 + in 11 + appimageTools.wrapType2 rec { 12 + inherit pname version src; 13 + 14 + extraInstallCommands = '' 15 + mv $out/bin/{${pname}-${version},${pname}} 16 + mkdir -p $out/share/{applications,pixmaps} 17 + cp ${appimageContents}/net.davidotek.pupgui2.desktop $out/share/applications/${pname}.desktop 18 + cp ${appimageContents}/net.davidotek.pupgui2.png $out/share/pixmaps/${pname}.png 19 + substituteInPlace $out/share/applications/${pname}.desktop \ 20 + --replace 'Exec=net.davidotek.pupgui2' 'Exec=${pname}' \ 21 + --replace 'Icon=net.davidotek.pupgui2' 'Icon=${pname}' 22 + ''; 23 + 24 + meta = with lib; { 25 + homepage = "https://davidotek.github.io/protonup-qt/"; 26 + description = "Install and manage Proton-GE and Luxtorpeda for Steam and Wine-GE for Lutris with this graphical user interface."; 27 + license = licenses.gpl3; 28 + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; 29 + mainProgram = "protonup-qt"; 30 + platforms = [ "x86_64-linux" ]; 31 + maintainers = with maintainers; [ ]; 32 + }; 33 + }
+5 -3
pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "helm-diff"; 5 - version = "3.5.0"; 5 + version = "3.6.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "databus23"; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-evFdMM2AilKQPdSCUzKo6RuC4OC4zfjj+JzFvtkSrdk="; 11 + sha256 = "sha256-JeQP2KXoLxkyRZVFcd6Rrz5xyJd+F3plzznAVP3Um8g="; 12 12 }; 13 13 14 - vendorSha256 = "sha256-9i4ryBpaK7mMbsOpIaaZWBRjewD1MtTpf4zJ0yU0KMg="; 14 + vendorSha256 = "sha256-d5NSqCJrk9QhV5gVOKUG/uJxuvt8X8hiQd8yJEoXPL0="; 15 + 16 + ldflags = [ "-s" "-w" "-X github.com/databus23/helm-diff/v3/cmd.Version=${version}" ]; 15 17 16 18 # NOTE: Remove the install and upgrade hooks. 17 19 postPatch = ''
+4 -4
pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "helm-secrets"; 5 - version = "3.8.3"; 5 + version = "4.2.2"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "jkroepke"; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - hash = "sha256-FpF/d+e5T6nb0OENaYLY+3ATZ+qcAeih5/yKI+AtfKA="; 11 + hash = "sha256-aqRgny1vU+dxpZpzwL4aSbYfTGrZbRffQy81mMBvnJk="; 12 12 }; 13 13 14 14 nativeBuildInputs = [ makeWrapper ]; ··· 17 17 # NOTE: helm-secrets is comprised of shell scripts. 18 18 dontBuild = true; 19 19 20 - # NOTE: Remove the install and upgrade hooks. 20 + # NOTE: Fix version string 21 21 postPatch = '' 22 - sed -i '/^hooks:/,+2 d' plugin.yaml 22 + sed -i 's/^version:.*/version: "${version}"/' plugin.yaml 23 23 ''; 24 24 25 25 installPhase = ''
+7 -7
pkgs/applications/networking/feedreaders/rsstail/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, cppcheck, libmrss, libiconv }: 1 + { lib, stdenv, fetchFromGitHub, libmrss, libiconv }: 2 2 3 3 stdenv.mkDerivation { 4 4 pname = "rsstail"; 5 5 version = "2.1"; 6 6 7 7 src = fetchFromGitHub { 8 - sha256 = "12p69i3g1fwlw0bds9jqsdmzkid3k5a41w31d227i7vm12wcvjf6"; 8 + owner = "folkertvanheusden"; 9 + repo = "rsstail"; 9 10 rev = "6f2436185372b3f945a4989406c4b6a934fe8a95"; 10 - repo = "rsstail"; 11 - owner = "folkertvanheusden"; 11 + sha256 = "12p69i3g1fwlw0bds9jqsdmzkid3k5a41w31d227i7vm12wcvjf6"; 12 12 }; 13 13 14 14 buildInputs = [ libmrss ] ++ lib.optionals stdenv.isDarwin [ libiconv ]; 15 - nativeCheckInputs = [ cppcheck ]; 16 15 17 16 postPatch = '' 18 17 substituteInPlace Makefile --replace -liconv_hook "" ··· 21 20 makeFlags = [ "prefix=$(out)" ]; 22 21 enableParallelBuilding = true; 23 22 24 - doCheck = true; 23 + # just runs cppcheck linter 24 + doCheck = false; 25 25 26 26 meta = with lib; { 27 27 description = "Monitor RSS feeds for new entries"; ··· 29 29 RSSTail is more or less an RSS reader: it monitors an RSS feed and if it 30 30 detects a new entry it'll emit only that new entry. 31 31 ''; 32 - homepage = "http://www.vanheusden.com/rsstail/"; 32 + homepage = "https://www.vanheusden.com/rsstail/"; 33 33 license = licenses.gpl2Plus; 34 34 maintainers = [ maintainers.Necior ]; 35 35 platforms = platforms.unix;
+2 -2
pkgs/applications/networking/flexget/default.nix
··· 5 5 6 6 python3Packages.buildPythonApplication rec { 7 7 pname = "flexget"; 8 - version = "3.5.23"; 8 + version = "3.5.24"; 9 9 format = "pyproject"; 10 10 11 11 # Fetch from GitHub in order to use `requirements.in` ··· 13 13 owner = "flexget"; 14 14 repo = "flexget"; 15 15 rev = "refs/tags/v${version}"; 16 - hash = "sha256-VWpcXwiQHpQ3X/rmm6fWfPfuUoUmWQMfOq5A87nED3A="; 16 + hash = "sha256-4RQBaqC3nmyEq9Kqg0n9KIN9Gw4Z+uCl6hQeqo/NTls="; 17 17 }; 18 18 19 19 postPatch = ''
+3 -3
pkgs/applications/networking/instant-messengers/webex/default.nix
··· 55 55 56 56 stdenv.mkDerivation rec { 57 57 pname = "webex"; 58 - version = "42.10.0.24000"; 58 + version = "42.12.0.24485"; 59 59 60 60 src = fetchurl { 61 - url = "https://binaries.webex.com/WebexDesktop-Ubuntu-Gold/20221019145240/Webex_ubuntu.7z"; 62 - sha256 = "03b77a3fcce76f04cf684bcdecb3bcce97c5a8b6cc36b40967cc14fa9a46c102"; 61 + url = "https://binaries.webex.com/WebexDesktop-Ubuntu-Gold/20221206141837/Webex_ubuntu.7z"; 62 + sha256 = "4c09c13b760abbdcc8bc1a74d137f8bc23386da4425cbefd8ea75bd0a877fdbf"; 63 63 }; 64 64 65 65 buildInputs = [
+70
pkgs/applications/science/biology/nest/default.nix
··· 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , testers 5 + , cmake 6 + , gsl 7 + , libtool 8 + , mpi 9 + , nest 10 + , pkg-config 11 + , python3 12 + , readline 13 + , autoPatchelfHook 14 + , withPython ? false 15 + , withMpi ? false 16 + }: 17 + 18 + stdenv.mkDerivation rec { 19 + pname = "nest"; 20 + version = "3.3"; 21 + 22 + src = fetchFromGitHub { 23 + owner = "nest"; 24 + repo = "nest-simulator"; 25 + rev = "v${version}"; 26 + sha256 = "sha256-wmn5LOOHlSuyPdV6O6v7j10dxdcvqpym6MfveZdL+dU="; 27 + }; 28 + 29 + postPatch = '' 30 + patchShebangs cmake/CheckFiles/check_return_val.sh 31 + # fix PyNEST installation path 32 + # it expects CMAKE_INSTALL_LIBDIR to be relative 33 + substituteInPlace cmake/ProcessOptions.cmake \ 34 + --replace "\''${CMAKE_INSTALL_LIBDIR}/python" "lib/python" 35 + ''; 36 + 37 + nativeBuildInputs = [ 38 + cmake 39 + pkg-config 40 + autoPatchelfHook 41 + ]; 42 + 43 + buildInputs = [ 44 + gsl 45 + readline 46 + libtool # libltdl 47 + ] ++ lib.optionals withPython [ 48 + python3 49 + python3.pkgs.cython 50 + ] ++ lib.optional withMpi mpi; 51 + 52 + cmakeFlags = [ 53 + "-Dwith-python=${if withPython then "ON" else "OFF"}" 54 + "-Dwith-mpi=${if withMpi then "ON" else "OFF"}" 55 + "-Dwith-openmp=${if stdenv.isDarwin then "OFF" else "ON"}" 56 + ]; 57 + 58 + passthru.tests.version = testers.testVersion { 59 + package = nest; 60 + command = "nest --version"; 61 + }; 62 + 63 + meta = with lib; { 64 + description = "NEST is a command line tool for simulating neural networks"; 65 + homepage = "https://www.nest-simulator.org/"; 66 + license = licenses.gpl2; 67 + maintainers = with maintainers; [ jiegec ]; 68 + platforms = platforms.unix; 69 + }; 70 + }
+1 -1
pkgs/applications/version-management/fnc/default.nix
··· 13 13 14 14 makeFlags = [ "PREFIX=$(out)" ]; 15 15 16 - NIX_CFLAGS_COMPILE = [ 16 + NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ 17 17 # Needed with GCC 12 18 18 "-Wno-error=maybe-uninitialized" 19 19 ];
+2
pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
··· 8 8 , wayland-scanner 9 9 , obs-studio 10 10 , libX11 11 + , libxcb 11 12 , vulkan-headers 12 13 , vulkan-loader 13 14 , libGL ··· 35 36 buildInputs = [ 36 37 libGL 37 38 libX11 39 + libxcb 38 40 vulkan-headers 39 41 vulkan-loader 40 42 wayland
+25 -1
pkgs/development/libraries/hunspell/dictionaries.nix
··· 1 1 /* hunspell dictionaries */ 2 2 3 - { lib, stdenv, fetchurl, fetchFromGitHub, unzip, coreutils, bash, which, zip, ispell, perl, hunspell }: 3 + { lib, stdenv, fetchurl, fetchzip, fetchFromGitHub, unzip, coreutils, bash, which, zip, ispell, perl, hunspell }: 4 4 5 5 6 6 let ··· 877 877 readmeFile = "README_hyph_NO.txt"; 878 878 shortDescription = "Norwegian Nynorsk (Norway)"; 879 879 license = with lib.licenses; [ gpl2Only ]; 880 + }; 881 + 882 + /* TOKI PONA */ 883 + 884 + tok = mkDict rec { 885 + pname = "hunspell-dict-tok"; 886 + version = "20220829"; 887 + dictFileName = "tok"; 888 + readmeFile = "README.en.adoc"; 889 + 890 + src = fetchzip { 891 + url = "https://github.com/somasis/hunspell-tok/releases/download/${version}/hunspell-tok-${version}.tar.gz"; 892 + sha256 = "sha256-RiAODKXPUeIcf8IFcU6Tacehq5S8GYuPTuxEiN2CXD0="; 893 + }; 894 + 895 + dontBuild = true; 896 + 897 + meta = with lib; { 898 + description = "Hunspell dictionary for Toki Pona"; 899 + homepage = "https://github.com/somasis/hunspell-tok"; 900 + license = with lib.licenses; [ cc0 publicDomain cc-by-sa-30 cc-by-sa-40 ]; 901 + maintainers = with maintainers; [ somasis ]; 902 + platforms = platforms.all; 903 + }; 880 904 }; 881 905 }
-2
pkgs/development/libraries/migraphx/default.nix
··· 7 7 , rocm-cmake 8 8 , hip 9 9 , clang-tools-extra 10 - , cppcheck 11 10 , openmp 12 11 , rocblas 13 12 , rocmlir ··· 70 69 rocm-cmake 71 70 hip 72 71 clang-tools-extra 73 - cppcheck 74 72 python3Packages.python 75 73 ] ++ lib.optionals buildDocs [ 76 74 latex
+1 -2
pkgs/development/libraries/sqlitecpp/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, cmake, sqlite, cppcheck, gtest }: 1 + { lib, stdenv, fetchFromGitHub, cmake, sqlite, gtest }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "sqlitecpp"; ··· 12 12 }; 13 13 14 14 nativeBuildInputs = [ cmake ]; 15 - nativeCheckInputs = [ cppcheck ]; 16 15 buildInputs = [ sqlite gtest ]; 17 16 doCheck = true; 18 17
+1 -1
pkgs/development/libraries/tbb/default.nix
··· 101 101 details and threading mechanisms for scalability and performance. 102 102 ''; 103 103 platforms = platforms.unix; 104 - maintainers = with maintainers; [ thoughtpolice dizfer ]; 104 + maintainers = with maintainers; [ thoughtpolice ]; 105 105 }; 106 106 }
+2 -2
pkgs/development/libraries/webkitgtk/default.nix
··· 69 69 70 70 stdenv.mkDerivation (finalAttrs: { 71 71 pname = "webkitgtk"; 72 - version = "2.38.4"; 72 + version = "2.38.5"; 73 73 name = "${finalAttrs.pname}-${finalAttrs.version}+abi=${if lib.versionAtLeast gtk3.version "4.0" then "5.0" else "4.${if lib.versions.major libsoup.version == "2" then "0" else "1"}"}"; 74 74 75 75 outputs = [ "out" "dev" "devdoc" ]; ··· 80 80 81 81 src = fetchurl { 82 82 url = "https://webkitgtk.org/releases/webkitgtk-${finalAttrs.version}.tar.xz"; 83 - hash = "sha256-T0fqKaLU1fFe7z3J4tbG8Gfo3oY6P2RFXhzPlpPMHTY="; 83 + hash = "sha256-QMIMQwIidN9Yk/IrEFT6iUw+6gVzibsIruCMWwuwwac="; 84 84 }; 85 85 86 86 patches = lib.optionals stdenv.isLinux [
+2 -2
pkgs/development/python-modules/ansible-doctor/default.nix
··· 18 18 19 19 buildPythonPackage rec { 20 20 pname = "ansible-doctor"; 21 - version = "2.0.0"; 21 + version = "2.0.1"; 22 22 format = "pyproject"; 23 23 24 24 disabled = pythonOlder "3.7"; ··· 27 27 owner = "thegeeklab"; 28 28 repo = "ansible-doctor"; 29 29 rev = "refs/tags/v${version}"; 30 - hash = "sha256-P2PC90coR+FpQkO+SUon72bDLTYJhZ5qbcOdCKuFFwE="; 30 + hash = "sha256-xUg7+7oWxIVdKLOGIE1uxh7SSjkz/w0//OyMF1HhEJk="; 31 31 }; 32 32 33 33 pythonRelaxDeps = true;
+2 -2
pkgs/development/python-modules/arcam-fmj/default.nix
··· 12 12 13 13 buildPythonPackage rec { 14 14 pname = "arcam-fmj"; 15 - version = "1.2.0"; 15 + version = "1.2.1"; 16 16 format = "setuptools"; 17 17 18 18 disabled = pythonOlder "3.8"; ··· 21 21 owner = "elupus"; 22 22 repo = "arcam_fmj"; 23 23 rev = "refs/tags/${version}"; 24 - hash = "sha256-stoxDb25K/h55rwR0faWO0AOjSJmjZNbMbOAuUE2iSM="; 24 + hash = "sha256-nRInKju3Q4En+SiSl6DOeeTRK56TzKPweoVXsvzs45I="; 25 25 }; 26 26 27 27 propagatedBuildInputs = [
+53
pkgs/development/python-modules/brian2/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchPypi 4 + , cython 5 + , jinja2 6 + , numpy 7 + , pyparsing 8 + , setuptools 9 + , sympy 10 + , pytest 11 + , pytest-xdist 12 + , python 13 + }: 14 + 15 + buildPythonPackage rec { 16 + pname = "brian2"; 17 + version = "2.5.1"; 18 + 19 + src = fetchPypi { 20 + pname = "Brian2"; 21 + inherit version; 22 + sha256 = "sha256-x1EcS7PFCsjPYsq3Lt87SJRW4J5DE/OfdFs3NuyHiLw="; 23 + }; 24 + 25 + propagatedBuildInputs = [ 26 + cython 27 + jinja2 28 + numpy 29 + pyparsing 30 + setuptools 31 + sympy 32 + ]; 33 + 34 + checkInputs = [ 35 + pytest 36 + pytest-xdist 37 + ]; 38 + 39 + checkPhase = '' 40 + runHook preCheck 41 + # Cython cache lies in home directory 42 + export HOME=$(mktemp -d) 43 + cd $HOME && ${python.interpreter} -c "import brian2;assert brian2.test()" 44 + runHook postCheck 45 + ''; 46 + 47 + meta = with lib; { 48 + description = "A clock-driven simulator for spiking neural networks"; 49 + homepage = "https://briansimulator.org/"; 50 + license = licenses.cecill21; 51 + maintainers = with maintainers; [ jiegec ]; 52 + }; 53 + }
+5 -10
pkgs/development/python-modules/elastic-apm/default.nix
··· 1 1 { lib 2 - , asynctest 3 2 , aiohttp 4 3 , blinker 5 4 , buildPythonPackage ··· 30 29 31 30 buildPythonPackage rec { 32 31 pname = "elastic-apm"; 33 - version = "6.14.0"; 32 + version = "6.15.0"; 34 33 format = "setuptools"; 35 34 36 35 disabled = pythonOlder "3.8"; ··· 39 38 owner = "elastic"; 40 39 repo = "apm-agent-python"; 41 40 rev = "refs/tags/v${version}"; 42 - hash = "sha256-T1TWILlJZffTISVt8YSi8ZYSXOHieh6SV55j8W333LQ="; 41 + hash = "sha256-Uoybe6Mx7ZLs2GaOnl278Xj6KlTEgrOuNxMRmPpSq8k="; 43 42 }; 44 43 45 44 propagatedBuildInputs = [ ··· 54 53 ]; 55 54 56 55 nativeCheckInputs = [ 57 - pytestCheckHook 58 - ]; 59 - 60 - checkInputs = [ 61 - asynctest 62 56 ecs-logging 57 + httpx 63 58 jinja2 64 59 jsonschema 65 60 Logbook 66 61 mock 67 - httpx 68 62 pytest-asyncio 69 63 pytest-bdd 70 - pytest-mock 71 64 pytest-localserver 65 + pytest-mock 72 66 pytest-random-order 67 + pytestCheckHook 73 68 sanic-testing 74 69 structlog 75 70 webob
+2 -2
pkgs/development/python-modules/oslo-serialization/default.nix
··· 11 11 12 12 buildPythonPackage rec { 13 13 pname = "oslo-serialization"; 14 - version = "5.0.0"; 14 + version = "5.1.0"; 15 15 16 16 src = fetchPypi { 17 17 pname = "oslo.serialization"; 18 18 inherit version; 19 - sha256 = "sha256-KEUyjQ9H3Ioj/tKoIlPpCs/wqnMdvSTzec+OUObMZro="; 19 + sha256 = "sha256-pIR98yaBwahL0TotunpuydW0SITeYyUhGS9tx1DOCYQ="; 20 20 }; 21 21 22 22 postPatch = ''
+2 -2
pkgs/development/python-modules/pynvml/default.nix
··· 9 9 10 10 buildPythonPackage rec { 11 11 pname = "pynvml"; 12 - version = "11.4.1"; 12 + version = "11.5.0"; 13 13 disabled = pythonOlder "3.6"; 14 14 15 15 src = fetchPypi { 16 16 inherit pname version; 17 - sha256 = "b2e4a33b80569d093b513f5804db0c7f40cfc86f15a013ae7a8e99c5e175d5dd"; 17 + sha256 = "sha256-0CeyG5WxCIufwngRf59ht8Z/jjOnh+n4P3NfD3GsMtA="; 18 18 }; 19 19 20 20 patches = [
+2 -2
pkgs/development/python-modules/selenium/default.nix
··· 13 13 14 14 buildPythonPackage rec { 15 15 pname = "selenium"; 16 - version = "4.7.0"; 16 + version = "4.8.0"; 17 17 format = "setuptools"; 18 18 19 19 disabled = pythonOlder "3.7"; ··· 23 23 repo = "selenium"; 24 24 # check if there is a newer tag with or without -python suffix 25 25 rev = "refs/tags/selenium-${version}"; 26 - hash = "sha256-7inmi8dHi6So+8AbLq85Go/GEaiV1XK/7+wt9UkTdo8="; 26 + hash = "sha256-YTi6SNtTWuEPlQ3PTeis9osvtnWmZ7SRQbne9fefdco="; 27 27 }; 28 28 29 29 postPatch = ''
+4 -3
pkgs/development/python-modules/simpleeval/default.nix
··· 7 7 8 8 buildPythonPackage rec { 9 9 pname = "simpleeval"; 10 - version = "0.9.12"; 10 + version = "0.9.13"; 11 11 format = "pyproject"; 12 12 13 13 src = fetchFromGitHub { 14 14 owner = "danthedeckie"; 15 15 repo = pname; 16 - rev = version; 17 - sha256 = "0khgl729q5133fgc00d550f4r77707rkkn7r56az4v8bvx0q8xp4"; 16 + rev = "refs/tags/${version}"; 17 + hash = "sha256-I1GILYPE6OyotgRe0Ek/iHHv6q9/b/MlcTxMAtfZD80="; 18 18 }; 19 19 20 20 nativeBuildInputs = [ ··· 36 36 meta = with lib; { 37 37 description = "Simple, safe single expression evaluator library"; 38 38 homepage = "https://github.com/danthedeckie/simpleeval"; 39 + changelog = "https://github.com/danthedeckie/simpleeval/releases/tag/${version}"; 39 40 license = licenses.mit; 40 41 maintainers = with maintainers; [ johbo ]; 41 42 };
+3 -3
pkgs/development/tools/rust/cargo-valgrind/default.nix
··· 8 8 9 9 rustPlatform.buildRustPackage rec { 10 10 pname = "cargo-valgrind"; 11 - version = "2.1.0"; 11 + version = "2.1.1"; 12 12 13 13 src = fetchFromGitHub { 14 14 owner = "jfrimmel"; 15 15 repo = "cargo-valgrind"; 16 16 rev = "v${version}"; 17 - sha256 = "sha256-FCz15kMSKckifYWSTMGqJbRpZ8X/AM5dSw46dg8ERcY="; 17 + sha256 = "sha256-l/1paghG/ARD0JfzNh0xj2UD5kW6FddM8Xrd/FCygYc="; 18 18 }; 19 19 20 - cargoSha256 = "sha256-csSUe2qUIN2xKOMHWyM56FZyCwKPdfAI0NrFiDOtRiE="; 20 + cargoSha256 = "sha256-9/kIIZDIsOhUvRT3TyXN5PGFUB+a8m2yXmzBbsPUK28="; 21 21 22 22 passthru = { 23 23 updateScript = nix-update-script { };
+2 -2
pkgs/development/web/nodejs/v14.nix
··· 8 8 in 9 9 buildNodejs { 10 10 inherit enableNpm; 11 - version = "14.21.2"; 12 - sha256 = "00zzl43iis8mr8x48hww5ncj8mj5dmpn05rq7ihpffkp2q7rmw6q"; 11 + version = "14.21.3"; 12 + sha256 = "sha256-RY7AkuYK1wDdzwectj1DXBXaTHuz0/mbmo5YqZ5UB14="; 13 13 patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff; 14 14 }
+2 -2
pkgs/development/web/nodejs/v16.nix
··· 10 10 in 11 11 buildNodejs { 12 12 inherit enableNpm; 13 - version = "16.19.0"; 14 - sha256 = "01k72p0hp4lhlpz1syd9cbkm2gpfww0hn10xdpmzd4i3x8dfq7sg"; 13 + version = "16.19.1"; 14 + sha256 = "sha256-F/txZAYZgSWzDJTdPRdWIHspdwViav4W2NxHmmWh2LU="; 15 15 patches = [ 16 16 ./disable-darwin-v8-system-instrumentation.patch 17 17 ./bypass-darwin-xcrun-node16.patch
+2 -2
pkgs/development/web/nodejs/v18.nix
··· 9 9 in 10 10 buildNodejs { 11 11 inherit enableNpm; 12 - version = "18.14.0"; 13 - sha256 = "sha256-Qu+d0xmT1cjoKwqwlpE1CT5qKW76J7G+mvwErADwJno="; 12 + version = "18.14.1"; 13 + sha256 = "sha256-7sNTQ4Jm/QrvU6lEa+ELMu5udNCOMt1UVLOC/2eT2gQ="; 14 14 patches = [ 15 15 ./disable-darwin-v8-system-instrumentation.patch 16 16 ./bypass-darwin-xcrun-node16.patch
+2 -2
pkgs/development/web/nodejs/v19.nix
··· 9 9 in 10 10 buildNodejs { 11 11 inherit enableNpm; 12 - version = "19.6.0"; 13 - sha256 = "sha256-UZxtVCqfmW8AwaPTsuXPUrfbmY2V9s7VqJPRagPeM+o="; 12 + version = "19.6.1"; 13 + sha256 = "sha256-dxDmwoUclWvkkm/CVAZ48/3fjm04Juo6qbjCjW6omps="; 14 14 patches = [ 15 15 ./revert-arm64-pointer-auth.patch 16 16 ./disable-darwin-v8-system-instrumentation-node19.patch
+4 -6
pkgs/games/freeorion/default.nix
··· 5 5 , doxygen 6 6 , graphviz 7 7 , makeWrapper 8 - , cppcheck 9 - , boost16x 8 + , boost17x 10 9 , SDL2 11 10 , python3 12 11 , freetype ··· 24 23 }: 25 24 26 25 stdenv.mkDerivation rec { 27 - version = "0.4.10.2"; 28 26 pname = "freeorion"; 27 + version = "0.4.10.2"; 29 28 30 29 src = fetchFromGitHub { 31 30 owner = "freeorion"; ··· 35 34 }; 36 35 37 36 buildInputs = [ 38 - (boost16x.override { enablePython = true; python = python3; }) 37 + (boost17x.override { enablePython = true; python = python3; }) 39 38 (python3.withPackages (p: with p; [ pycodestyle ])) 40 39 SDL2 41 40 freetype ··· 53 52 54 53 nativeBuildInputs = [ 55 54 cmake 56 - cppcheck 57 55 doxygen 58 56 graphviz 59 57 makeWrapper ··· 81 79 82 80 meta = with lib; { 83 81 description = "A free, open source, turn-based space empire and galactic conquest (4X) computer game"; 84 - homepage = "http://www.freeorion.org"; 82 + homepage = "https://www.freeorion.org/"; 85 83 license = with licenses; [ gpl2 cc-by-sa-30 ]; 86 84 platforms = platforms.linux; 87 85 maintainers = with maintainers; [ tex ];
+3 -3
pkgs/misc/wiki-tui/default.nix
··· 10 10 11 11 rustPlatform.buildRustPackage rec { 12 12 pname = "wiki-tui"; 13 - version = "0.6.1"; 13 + version = "0.6.3"; 14 14 15 15 src = fetchFromGitHub { 16 16 owner = "Builditluc"; 17 17 repo = pname; 18 18 rev = "v${version}"; 19 - hash = "sha256-WiyRBF3rWLpOZ8mxT89ImRL++Oq9+b88oSKjr4tzCGs="; 19 + hash = "sha256-vBfD5SQnVx/UqRoyGJc4PINW/wKuHjpiUEz3WiRCR9A="; 20 20 }; 21 21 22 22 nativeBuildInputs = [ ··· 30 30 Security 31 31 ]; 32 32 33 - cargoHash = "sha256-R9xxIDqkU7FeulpD7PUM6aHgA67PVgqxHKYtdrjdaUo="; 33 + cargoHash = "sha256-xbjUdQs2t+cjplAlNVRN1Zw5CeAYv4+ir4Pvrt+/n9k="; 34 34 35 35 meta = with lib; { 36 36 description = "A simple and easy to use Wikipedia Text User Interface";
+37
pkgs/servers/sql/rqlite/default.nix
··· 1 + { lib 2 + , buildGoModule 3 + , fetchFromGitHub 4 + }: 5 + 6 + buildGoModule rec { 7 + pname = "rqlite"; 8 + version = "7.6.1"; 9 + 10 + src = fetchFromGitHub { 11 + owner = "rqlite"; 12 + repo = pname; 13 + rev = "v${version}"; 14 + sha256 = "sha256-WvEnMAz3dKG8xMlQzm7E0TmAgvsrRED50bb4Ved1+4U="; 15 + }; 16 + 17 + vendorSha256 = "sha256-qirt5g7dcjAnceejrBnfhDpA4LSEj7eOuznSlfUBUgo="; 18 + 19 + subPackages = [ "cmd/rqlite" "cmd/rqlited" "cmd/rqbench" ]; 20 + 21 + # Leaving other flags from https://github.com/rqlite/rqlite/blob/master/package.sh 22 + # since automatically retriving those is nontrivial and inessential 23 + ldflags = [ 24 + "-s" "-w" 25 + "-X github.com/rqlite/rqlite/cmd.Version=${src.rev}" 26 + ]; 27 + 28 + # Tests are in a different subPackage which fails trying to access the network 29 + doCheck = false; 30 + 31 + meta = with lib; { 32 + description = "The lightweight, distributed relational database built on SQLite"; 33 + homepage = "https://github.com/rqlite/rqlite"; 34 + license = licenses.mit; 35 + maintainers = with maintainers; [ dit7ya ]; 36 + }; 37 + }
+3 -3
pkgs/servers/traefik/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "traefik"; 5 - version = "2.9.6"; 5 + version = "2.9.8"; 6 6 7 7 # Archive with static assets for webui 8 8 src = fetchzip { 9 9 url = "https://github.com/traefik/traefik/releases/download/v${version}/traefik-v${version}.src.tar.gz"; 10 - sha256 = "sha256-T1yJT45bCjGizS6bqkzc6EF9uhJ3dhXsSc5X3di6SJ4="; 10 + sha256 = "sha256-3vrMh0zrJQhIG9VAlG/iHlOVlUFlE4qd0EkOB0ckAtY="; 11 11 stripRoot = false; 12 12 }; 13 13 14 - vendorSha256 = "sha256-g/UL+cUenWW94afWIGFU2fBSpo48YcUIUaX/1M5vhNk="; 14 + vendorSha256 = "sha256-NyI+3wYRZ3L98qwrkDfrbJK4S+Wdx/UJ8FlLAMhaL7A="; 15 15 16 16 subPackages = [ "cmd/traefik" ]; 17 17
+2 -2
pkgs/tools/misc/yt-dlp/default.nix
··· 20 20 # The websites yt-dlp deals with are a very moving target. That means that 21 21 # downloads break constantly. Because of that, updates should always be backported 22 22 # to the latest stable release. 23 - version = "2023.1.6"; 23 + version = "2023.2.17"; 24 24 25 25 src = fetchPypi { 26 26 inherit pname version; 27 - sha256 = "sha256-Ong6NnUc7RY2j0CzuoZas5swaJ7YBW8e4jRqo4OaCw8="; 27 + sha256 = "sha256-mvkt5e/8GTvbUSFtnr8oh02WGA0gL651Kw2fKmM4Dzo="; 28 28 }; 29 29 30 30 propagatedBuildInputs = [ brotli certifi mutagen pycryptodomex websockets ];
+2 -2
pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/__init__.py
··· 29 29 print(textwrap.indent(extra_info, "\t"), file=sys.stderr, end="") 30 30 else: 31 31 print(e) 32 - if e.__context__ is not None: 32 + if e.__cause__ is not None: 33 33 print("", file=sys.stderr) 34 - pretty_print_exc(e.__context__, _desc_text="caused by") 34 + pretty_print_exc(e.__cause__, _desc_text="caused by") 35 35 36 36 def main() -> None: 37 37 parser = argparse.ArgumentParser(description='render nixos manual bits')
+18 -3
pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/docbook.py
··· 28 28 class Heading(NamedTuple): 29 29 container_tag: str 30 30 level: int 31 + # special handling for <part> titles: whether partinfo was already closed from elsewhere 32 + # or still needs closing. 33 + partintro_closed: bool = False 31 34 32 35 class DocBookRenderer(Renderer): 33 36 __output__ = "docbook" ··· 251 254 return result + f'<{tag}{attrs_str}>\n<title>' 252 255 def heading_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict, 253 256 env: MutableMapping[str, Any]) -> str: 254 - return '</title>' 257 + heading = self._headings[-1] 258 + result = '</title>' 259 + if heading.container_tag == 'part': 260 + # generate the same ids as were previously assigned manually. if this collides we 261 + # rely on outside schema validation to catch it! 262 + maybe_id = "" 263 + assert tokens[i - 2].type == 'heading_open' 264 + if id := cast(str, tokens[i - 2].attrs.get('id', "")): 265 + maybe_id = " xml:id=" + quoteattr(id + "-intro") 266 + result += f"<partintro{maybe_id}>" 267 + return result 255 268 def example_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict, 256 269 env: MutableMapping[str, Any]) -> str: 257 270 if id := token.attrs.get('id'): ··· 266 279 result = [] 267 280 while len(self._headings): 268 281 if level is None or self._headings[-1].level >= level: 269 - result.append(f"</{self._headings[-1].container_tag}>") 270 - self._headings.pop() 282 + heading = self._headings.pop() 283 + if heading.container_tag == 'part' and not heading.partintro_closed: 284 + result.append("</partintro>") 285 + result.append(f"</{heading.container_tag}>") 271 286 else: 272 287 break 273 288 return "\n".join(result)
+162 -137
pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py
··· 2 2 import json 3 3 4 4 from abc import abstractmethod 5 - from collections.abc import MutableMapping, Sequence 5 + from collections.abc import Mapping, MutableMapping, Sequence 6 6 from pathlib import Path 7 7 from typing import Any, cast, NamedTuple, Optional, Union 8 8 from xml.sax.saxutils import escape, quoteattr 9 + 10 + import markdown_it 9 11 from markdown_it.token import Token 10 12 from markdown_it.utils import OptionsDict 11 13 12 - from .docbook import DocBookRenderer 14 + from . import options 15 + from .docbook import DocBookRenderer, Heading 13 16 from .md import Converter 14 17 15 - class RenderedSection: 16 - id: Optional[str] 17 - chapters: list[str] 18 + class ManualDocBookRenderer(DocBookRenderer): 19 + _toplevel_tag: str 18 20 19 - def __init__(self, id: Optional[str]) -> None: 20 - self.id = id 21 - self.chapters = [] 21 + def __init__(self, toplevel_tag: str, manpage_urls: Mapping[str, str], 22 + parser: Optional[markdown_it.MarkdownIt] = None): 23 + super().__init__(manpage_urls, parser) 24 + self._toplevel_tag = toplevel_tag 25 + self.rules |= { 26 + 'included_sections': lambda *args: self._included_thing("section", *args), 27 + 'included_chapters': lambda *args: self._included_thing("chapter", *args), 28 + 'included_preface': lambda *args: self._included_thing("preface", *args), 29 + 'included_parts': lambda *args: self._included_thing("part", *args), 30 + 'included_appendix': lambda *args: self._included_thing("appendix", *args), 31 + 'included_options': self.included_options, 32 + } 22 33 23 - class BaseConverter(Converter): 24 - _sections: list[RenderedSection] 34 + def render(self, tokens: Sequence[Token], options: OptionsDict, 35 + env: MutableMapping[str, Any]) -> str: 36 + wanted = { 'h1': 'title' } 37 + wanted |= { 'h2': 'subtitle' } if self._toplevel_tag == 'book' else {} 38 + for (i, (tag, kind)) in enumerate(wanted.items()): 39 + if len(tokens) < 3 * (i + 1): 40 + raise RuntimeError(f"missing {kind} ({tag}) heading") 41 + token = tokens[3 * i] 42 + if token.type != 'heading_open' or token.tag != tag: 43 + assert token.map 44 + raise RuntimeError(f"expected {kind} ({tag}) heading in line {token.map[0] + 1}", token) 45 + for t in tokens[3 * len(wanted):]: 46 + if t.type != 'heading_open' or (info := wanted.get(t.tag)) is None: 47 + continue 48 + assert t.map 49 + raise RuntimeError( 50 + f"only one {info[0]} heading ({t.markup} [text...]) allowed per " 51 + f"{self._toplevel_tag}, but found a second in lines [{t.map[0] + 1}..{t.map[1]}]. " 52 + "please remove all such headings except the first or demote the subsequent headings.", 53 + t) 25 54 26 - def __init__(self, manpage_urls: dict[str, str]): 27 - super().__init__(manpage_urls) 28 - self._sections = [] 29 - 30 - def add_section(self, id: Optional[str], chapters: list[Path]) -> None: 31 - self._sections.append(RenderedSection(id)) 32 - for chpath in chapters: 33 - try: 34 - with open(chpath, 'r') as f: 35 - self._md.renderer._title_seen = False # type: ignore[attr-defined] 36 - self._sections[-1].chapters.append(self._render(f.read())) 37 - except Exception as e: 38 - raise RuntimeError(f"failed to render manual chapter {chpath}") from e 39 - 40 - @abstractmethod 41 - def finalize(self) -> str: raise NotImplementedError() 55 + # books get special handling because they have *two* title tags. doing this with 56 + # generic code is more complicated than it's worth. the checks above have verified 57 + # that both titles actually exist. 58 + if self._toplevel_tag == 'book': 59 + assert tokens[1].children 60 + assert tokens[4].children 61 + if (maybe_id := cast(str, tokens[0].attrs.get('id', ""))): 62 + maybe_id = "xml:id=" + quoteattr(maybe_id) 63 + return (f'<book xmlns="http://docbook.org/ns/docbook"' 64 + f' xmlns:xlink="http://www.w3.org/1999/xlink"' 65 + f' {maybe_id} version="5.0">' 66 + f' <title>{self.renderInline(tokens[1].children, options, env)}</title>' 67 + f' <subtitle>{self.renderInline(tokens[4].children, options, env)}</subtitle>' 68 + f' {super().render(tokens[6:], options, env)}' 69 + f'</book>') 42 70 43 - class ManualDocBookRenderer(DocBookRenderer): 44 - # needed to check correctness of chapters. 45 - # we may want to use front matter instead of this kind of heuristic. 46 - _title_seen = False 71 + return super().render(tokens, options, env) 47 72 48 73 def _heading_tag(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict, 49 74 env: MutableMapping[str, Any]) -> tuple[str, dict[str, str]]: 50 75 (tag, attrs) = super()._heading_tag(token, tokens, i, options, env) 51 - if self._title_seen: 52 - if token.tag == 'h1': 53 - assert token.map is not None 54 - raise RuntimeError( 55 - "only one title heading (# [text...]) allowed per manual chapter " 56 - f"but found a second in lines [{token.map[0]}..{token.map[1]}]. " 57 - "please remove all such headings except the first, split your " 58 - "chapters, or demote the subsequent headings to (##) or lower.", 59 - token) 76 + # render() has already verified that we don't have supernumerary headings and since the 77 + # book tag is handled specially we can leave the check this simple 78 + if token.tag != 'h1': 60 79 return (tag, attrs) 61 - self._title_seen = True 62 - return ("chapter", attrs | { 80 + return (self._toplevel_tag, attrs | { 63 81 'xmlns': "http://docbook.org/ns/docbook", 64 82 'xmlns:xlink': "http://www.w3.org/1999/xlink", 65 83 }) 66 84 85 + def _included_thing(self, tag: str, token: Token, tokens: Sequence[Token], i: int, 86 + options: OptionsDict, env: MutableMapping[str, Any]) -> str: 87 + result = [] 88 + # close existing partintro. the generic render doesn't really need this because 89 + # it doesn't have a concept of structure in the way the manual does. 90 + if self._headings and self._headings[-1] == Heading('part', 1): 91 + result.append("</partintro>") 92 + self._headings[-1] = self._headings[-1]._replace(partintro_closed=True) 93 + # must nest properly for structural includes. this requires saving at least 94 + # the headings stack, but creating new renderers is cheap and much easier. 95 + r = ManualDocBookRenderer(tag, self._manpage_urls, None) 96 + for (included, path) in token.meta['included']: 97 + try: 98 + result.append(r.render(included, options, env)) 99 + except Exception as e: 100 + raise RuntimeError(f"rendering {path}") from e 101 + return "".join(result) 102 + def included_options(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict, 103 + env: MutableMapping[str, Any]) -> str: 104 + return cast(str, token.meta['rendered-options']) 105 + 67 106 # TODO minimize docbook diffs with existing conversions. remove soon. 68 107 def paragraph_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict, 69 108 env: MutableMapping[str, Any]) -> str: ··· 76 115 return f"<programlisting>\n{escape(token.content)}</programlisting>" 77 116 def fence(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict, 78 117 env: MutableMapping[str, Any]) -> str: 79 - # HACK for temporarily being able to replace md-to-db.sh. pandoc used this syntax to 80 - # allow md files to inject arbitrary docbook, and manual chapters use it. 81 - if token.info == '{=docbook}': 82 - return token.content 83 118 info = f" language={quoteattr(token.info)}" if token.info != "" else "" 84 119 return f"<programlisting{info}>\n{escape(token.content)}</programlisting>" 85 120 86 - class DocBookSectionConverter(BaseConverter): 87 - __renderer__ = ManualDocBookRenderer 121 + class DocBookConverter(Converter): 122 + def __renderer__(self, manpage_urls: Mapping[str, str], 123 + parser: Optional[markdown_it.MarkdownIt]) -> ManualDocBookRenderer: 124 + return ManualDocBookRenderer('book', manpage_urls, parser) 88 125 89 - def finalize(self) -> str: 90 - result = [] 91 - 92 - for section in self._sections: 93 - id = "id=" + quoteattr(section.id) if section.id is not None else "" 94 - result.append(f'<section {id}>') 95 - result += section.chapters 96 - result.append(f'</section>') 97 - 98 - return "\n".join(result) 126 + _base_paths: list[Path] 127 + _revision: str 99 128 100 - class ManualFragmentDocBookRenderer(ManualDocBookRenderer): 101 - _tag: str = "chapter" 129 + def __init__(self, manpage_urls: Mapping[str, str], revision: str): 130 + super().__init__(manpage_urls) 131 + self._revision = revision 102 132 103 - def _heading_tag(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict, 104 - env: MutableMapping[str, Any]) -> tuple[str, dict[str, str]]: 105 - (tag, attrs) = super()._heading_tag(token, tokens, i, options, env) 106 - if token.tag == 'h1': 107 - return (self._tag, attrs | { 'xmlns:xi': "http://www.w3.org/2001/XInclude" }) 108 - return (tag, attrs) 109 - 110 - class DocBookFragmentConverter(Converter): 111 - __renderer__ = ManualFragmentDocBookRenderer 112 - 113 - def convert(self, file: Path, tag: str) -> str: 114 - assert isinstance(self._md.renderer, ManualFragmentDocBookRenderer) 133 + def convert(self, file: Path) -> str: 134 + self._base_paths = [ file ] 115 135 try: 116 136 with open(file, 'r') as f: 117 - self._md.renderer._title_seen = False 118 - self._md.renderer._tag = tag 119 137 return self._render(f.read()) 120 138 except Exception as e: 121 - raise RuntimeError(f"failed to render manual {tag} {file}") from e 139 + raise RuntimeError(f"failed to render manual {file}") from e 122 140 141 + def _parse(self, src: str, env: Optional[MutableMapping[str, Any]] = None) -> list[Token]: 142 + tokens = super()._parse(src, env) 143 + for token in tokens: 144 + if token.type != "fence" or not token.info.startswith("{=include=} "): 145 + continue 146 + typ = token.info[12:].strip() 147 + if typ == 'options': 148 + token.type = 'included_options' 149 + self._parse_options(token) 150 + elif typ in [ 'sections', 'chapters', 'preface', 'parts', 'appendix' ]: 151 + token.type = 'included_' + typ 152 + self._parse_included_blocks(token, env) 153 + else: 154 + raise RuntimeError(f"unsupported structural include type '{typ}'") 155 + return tokens 123 156 157 + def _parse_included_blocks(self, token: Token, env: Optional[MutableMapping[str, Any]]) -> None: 158 + assert token.map 159 + included = token.meta['included'] = [] 160 + for (lnum, line) in enumerate(token.content.splitlines(), token.map[0] + 2): 161 + line = line.strip() 162 + path = self._base_paths[-1].parent / line 163 + if path in self._base_paths: 164 + raise RuntimeError(f"circular include found in line {lnum}") 165 + try: 166 + self._base_paths.append(path) 167 + with open(path, 'r') as f: 168 + tokens = self._parse(f.read(), env) 169 + included.append((tokens, path)) 170 + self._base_paths.pop() 171 + except Exception as e: 172 + raise RuntimeError(f"processing included file {path} from line {lnum}") from e 124 173 125 - class Section: 126 - id: Optional[str] = None 127 - chapters: list[str] 174 + def _parse_options(self, token: Token) -> None: 175 + assert token.map 128 176 129 - def __init__(self) -> None: 130 - self.chapters = [] 177 + items = {} 178 + for (lnum, line) in enumerate(token.content.splitlines(), token.map[0] + 2): 179 + if len(args := line.split(":", 1)) != 2: 180 + raise RuntimeError(f"options directive with no argument in line {lnum}") 181 + (k, v) = (args[0].strip(), args[1].strip()) 182 + if k in items: 183 + raise RuntimeError(f"duplicate options directive {k} in line {lnum}") 184 + items[k] = v 185 + try: 186 + id_prefix = items.pop('id-prefix') 187 + varlist_id = items.pop('list-id') 188 + source = items.pop('source') 189 + except KeyError as e: 190 + raise RuntimeError(f"options directive {e} missing in block at line {token.map[0] + 1}") 191 + if items.keys(): 192 + raise RuntimeError( 193 + f"unsupported options directives in block at line {token.map[0] + 1}", 194 + " ".join(items.keys())) 131 195 132 - class SectionAction(argparse.Action): 133 - def __call__(self, parser: argparse.ArgumentParser, ns: argparse.Namespace, 134 - values: Union[str, Sequence[Any], None], opt_str: Optional[str] = None) -> None: 135 - sections = getattr(ns, self.dest) 136 - if sections is None: sections = [] 137 - sections.append(Section()) 138 - setattr(ns, self.dest, sections) 196 + try: 197 + conv = options.DocBookConverter( 198 + self._manpage_urls, self._revision, False, 'fragment', varlist_id, id_prefix) 199 + with open(self._base_paths[-1].parent / source, 'r') as f: 200 + conv.add_options(json.load(f)) 201 + token.meta['rendered-options'] = conv.finalize(fragment=True) 202 + except Exception as e: 203 + raise RuntimeError(f"processing options block in line {token.map[0] + 1}") from e 139 204 140 - class SectionIDAction(argparse.Action): 141 - def __call__(self, parser: argparse.ArgumentParser, ns: argparse.Namespace, 142 - values: Union[str, Sequence[Any], None], opt_str: Optional[str] = None) -> None: 143 - sections = getattr(ns, self.dest) 144 - if sections is None: raise argparse.ArgumentError(self, "no active section") 145 - sections[-1].id = cast(str, values) 146 205 147 - class ChaptersAction(argparse.Action): 148 - def __call__(self, parser: argparse.ArgumentParser, ns: argparse.Namespace, 149 - values: Union[str, Sequence[Any], None], opt_str: Optional[str] = None) -> None: 150 - sections = getattr(ns, self.dest) 151 - if sections is None: raise argparse.ArgumentError(self, "no active section") 152 - sections[-1].chapters.extend(map(Path, cast(Sequence[str], values))) 153 206 154 - class SingleFileAction(argparse.Action): 155 - def __call__(self, parser: argparse.ArgumentParser, ns: argparse.Namespace, 156 - values: Union[str, Sequence[Any], None], opt_str: Optional[str] = None) -> None: 157 - assert isinstance(values, Sequence) 158 - chapters = getattr(ns, self.dest) or [] 159 - chapters.append((Path(values[0]), Path(values[1]))) 160 - setattr(ns, self.dest, chapters) 161 - 162 - def _build_cli_db_section(p: argparse.ArgumentParser) -> None: 163 - p.add_argument('--manpage-urls', required=True) 164 - p.add_argument("outfile") 165 - p.add_argument("--section", dest="contents", action=SectionAction, nargs=0) 166 - p.add_argument("--section-id", dest="contents", action=SectionIDAction) 167 - p.add_argument("--chapters", dest="contents", action=ChaptersAction, nargs='+') 168 - 169 - def _build_cli_db_fragment(p: argparse.ArgumentParser) -> None: 207 + def _build_cli_db(p: argparse.ArgumentParser) -> None: 170 208 p.add_argument('--manpage-urls', required=True) 171 - p.add_argument("--chapter", action=SingleFileAction, required=True, nargs=2) 172 - p.add_argument("--section", action=SingleFileAction, required=True, nargs=2) 209 + p.add_argument('--revision', required=True) 210 + p.add_argument('infile', type=Path) 211 + p.add_argument('outfile', type=Path) 173 212 174 - def _run_cli_db_section(args: argparse.Namespace) -> None: 213 + def _run_cli_db(args: argparse.Namespace) -> None: 175 214 with open(args.manpage_urls, 'r') as manpage_urls: 176 - md = DocBookSectionConverter(json.load(manpage_urls)) 177 - for section in args.contents: 178 - md.add_section(section.id, section.chapters) 179 - with open(args.outfile, 'w') as f: 180 - f.write(md.finalize()) 181 - 182 - def _run_cli_db_fragment(args: argparse.Namespace) -> None: 183 - with open(args.manpage_urls, 'r') as manpage_urls: 184 - md = DocBookFragmentConverter(json.load(manpage_urls)) 185 - for kind in [ 'chapter', 'section' ]: 186 - for (target, file) in getattr(args, kind): 187 - converted = md.convert(file, kind) 188 - target.parent.mkdir(parents=True, exist_ok=True) 189 - target.write_text(converted) 215 + md = DocBookConverter(json.load(manpage_urls), args.revision) 216 + converted = md.convert(args.infile) 217 + args.outfile.write_text(converted) 190 218 191 219 def build_cli(p: argparse.ArgumentParser) -> None: 192 220 formats = p.add_subparsers(dest='format', required=True) 193 - _build_cli_db_section(formats.add_parser('docbook-section')) 194 - _build_cli_db_fragment(formats.add_parser('docbook-fragment')) 221 + _build_cli_db(formats.add_parser('docbook')) 195 222 196 223 def run_cli(args: argparse.Namespace) -> None: 197 - if args.format == 'docbook-section': 198 - _run_cli_db_section(args) 199 - elif args.format == 'docbook-fragment': 200 - _run_cli_db_fragment(args) 224 + if args.format == 'docbook': 225 + _run_cli_db(args) 201 226 else: 202 227 raise RuntimeError('format not hooked up', args)
+4 -3
pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py
··· 29 29 30 30 _options: dict[str, RenderedOption] 31 31 32 - def __init__(self, manpage_urls: dict[str, str], 32 + def __init__(self, manpage_urls: Mapping[str, str], 33 33 revision: str, 34 34 markdown_by_default: bool): 35 35 super().__init__(manpage_urls) ··· 231 231 def _decl_def_footer(self) -> list[str]: 232 232 return [ "</simplelist>" ] 233 233 234 - def finalize(self) -> str: 234 + def finalize(self, *, fragment: bool = False) -> str: 235 235 result = [] 236 236 237 - result.append('<?xml version="1.0" encoding="UTF-8"?>') 237 + if not fragment: 238 + result.append('<?xml version="1.0" encoding="UTF-8"?>') 238 239 if self._document_type == 'appendix': 239 240 result += [ 240 241 '<appendix xmlns="http://docbook.org/ns/docbook"',
+8 -4
pkgs/tools/text/mdcat/default.nix
··· 42 42 43 43 postInstall = '' 44 44 installManPage $releaseDir/build/mdcat-*/out/mdcat.1 45 - installShellCompletion \ 46 - --bash $releaseDir/build/mdcat-*/out/completions/mdcat.bash \ 47 - --fish $releaseDir/build/mdcat-*/out/completions/mdcat.fish \ 48 - --zsh $releaseDir/build/mdcat-*/out/completions/_mdcat 45 + ln -sr $out/bin/{mdcat,mdless} 46 + 47 + for bin in mdcat mdless; do 48 + installShellCompletion \ 49 + --bash $releaseDir/build/mdcat-*/out/completions/$bin.bash \ 50 + --fish $releaseDir/build/mdcat-*/out/completions/$bin.fish \ 51 + --zsh $releaseDir/build/mdcat-*/out/completions/_$bin 52 + done 49 53 ''; 50 54 51 55 meta = with lib; {
+8
pkgs/top-level/all-packages.nix
··· 23014 23014 23015 23015 rover = callPackage ../development/tools/rover { }; 23016 23016 23017 + rqlite = callPackage ../servers/sql/rqlite { }; 23018 + 23017 23019 rshell = python3.pkgs.callPackage ../development/embedded/rshell { }; 23018 23020 23019 23021 rttr = callPackage ../development/libraries/rttr { }; ··· 30242 30244 30243 30245 pixinsight = libsForQt5.callPackage ../applications/graphics/pixinsight { }; 30244 30246 30247 + protonup-qt = python3Packages.callPackage ../applications/misc/protonup-qt { }; 30248 + 30245 30249 pmbootstrap = python3Packages.callPackage ../tools/misc/pmbootstrap { }; 30246 30250 30247 30251 popura = callPackage ../tools/networking/popura {}; ··· 36341 36345 muscle = callPackage ../applications/science/biology/muscle { }; 36342 36346 36343 36347 n3 = callPackage ../applications/science/biology/N3 { }; 36348 + 36349 + nest = callPackage ../applications/science/biology/nest { }; 36350 + 36351 + nest-mpi = callPackage ../applications/science/biology/nest { withMpi = true; }; 36344 36352 36345 36353 neuron = callPackage ../applications/science/biology/neuron { python = null; }; 36346 36354
+4
pkgs/top-level/python-packages.nix
··· 1421 1421 1422 1422 brelpy = callPackage ../development/python-modules/brelpy { }; 1423 1423 1424 + brian2 = callPackage ../development/python-modules/brian2 { }; 1425 + 1424 1426 broadlink = callPackage ../development/python-modules/broadlink { }; 1425 1427 1426 1428 brother = callPackage ../development/python-modules/brother { }; ··· 6301 6303 neo4j = callPackage ../development/python-modules/neo4j { }; 6302 6304 6303 6305 nessclient = callPackage ../development/python-modules/nessclient { }; 6306 + 6307 + nest = toPythonModule(pkgs.nest-mpi.override { withPython = true; python3 = python; }); 6304 6308 6305 6309 nest-asyncio = callPackage ../development/python-modules/nest-asyncio { }; 6306 6310
+214 -194
pkgs/top-level/ruby-packages.nix
··· 5 5 platforms = []; 6 6 source = { 7 7 remotes = ["https://rubygems.org"]; 8 - sha256 = "10g5gk8h4mfhvgqylzbf591fqf5p78ca35cb97p9bclpv9jfy0za"; 8 + sha256 = "1271f7nyrmb0kk93zjsb3zyxng8jlzhhg9784pwfpwvrlclashlw"; 9 9 type = "gem"; 10 10 }; 11 - version = "6.1.7.2"; 11 + version = "6.0.6"; 12 12 }; 13 13 activesupport = { 14 14 dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"]; ··· 16 16 platforms = []; 17 17 source = { 18 18 remotes = ["https://rubygems.org"]; 19 - sha256 = "14pjq2k761qaywaznpqq8ziivjk2ks1ma2cjwdflkxqgndxjmsr2"; 19 + sha256 = "091qjiv0mvmn5k9krqkv1lfg8983mgcmrf11gxa6xkchh74csr6a"; 20 20 type = "gem"; 21 21 }; 22 - version = "6.1.7.2"; 22 + version = "6.0.6"; 23 23 }; 24 24 addressable = { 25 25 dependencies = ["public_suffix"]; ··· 119 119 platforms = []; 120 120 source = { 121 121 remotes = ["https://rubygems.org"]; 122 - sha256 = "017jh2lx3z5hqjvnqclc5bfr5q0d3zk0nqjfz73909ybr4h20kmi"; 122 + sha256 = "0xwcnbwnbqq8jp92mvawn6y69cb53wsz84wwmk9vsfk1jjvqfw2z"; 123 123 type = "gem"; 124 124 }; 125 - version = "0.2.1"; 125 + version = "0.2.0"; 126 126 }; 127 127 builder = { 128 128 groups = ["default"]; ··· 193 193 platforms = []; 194 194 source = { 195 195 remotes = ["https://rubygems.org"]; 196 - sha256 = "1a36zn77yyibqsfpka0i8vgf3yv98ic2b9wwlbc29566y8wpa2bq"; 196 + sha256 = "193l8r1ycd3dcxa7lsb4pqcghbk56dzc5244m6y8xmv88z6m31d7"; 197 197 type = "gem"; 198 198 }; 199 - version = "3.0.6"; 199 + version = "3.0.5"; 200 200 }; 201 201 charlock_holmes = { 202 202 groups = ["default"]; ··· 360 360 platforms = []; 361 361 source = { 362 362 remotes = ["https://rubygems.org"]; 363 - sha256 = "0csgcp2kkmciavnic1yrb8z405dg4lqkzdlw2zscahvggpwr0j2p"; 363 + sha256 = "1fxrq0b1x5gr2gr9md6mkwgaj8519gf1sbyqs88yqphbigf5iy75"; 364 364 type = "gem"; 365 365 }; 366 - version = "0.2.0"; 366 + version = "0.1.1"; 367 367 }; 368 368 cocoapods-downloader = { 369 369 groups = ["default"]; ··· 401 401 platforms = []; 402 402 source = { 403 403 remotes = ["https://rubygems.org"]; 404 - sha256 = "06rvrsb5p4j9pwqg7xzx8kv0v4x3wwjbiw6y2i905qhyqxqrww2l"; 404 + sha256 = "0vpn0y2r91cv9kr2kh6rwh51ipi90iyjfya8ir9grxh1ngv179ck"; 405 405 type = "gem"; 406 406 }; 407 - version = "2.2.4"; 407 + version = "2.2.2"; 408 408 }; 409 409 cocoapods-git_url_rewriter = { 410 410 groups = ["default"]; ··· 417 417 version = "1.0.1"; 418 418 }; 419 419 cocoapods-keys = { 420 - dependencies = ["dotenv" "ruby-keychain"]; 420 + dependencies = ["dotenv" "osx_keychain"]; 421 421 groups = ["default"]; 422 422 platforms = []; 423 423 source = { 424 424 remotes = ["https://rubygems.org"]; 425 - sha256 = "1zycjq1i3kqzpixngm1jp66r075yrb54qcd0xxxa8rmxngimqhff"; 425 + sha256 = "153cxxsi77dygc4qrij6qs44dbvc7dw31jx06cmf0ajrhv9qjnxl"; 426 426 type = "gem"; 427 427 }; 428 - version = "2.3.1"; 428 + version = "2.2.1"; 429 429 }; 430 430 cocoapods-open = { 431 431 groups = ["default"]; ··· 587 587 platforms = []; 588 588 source = { 589 589 remotes = ["https://rubygems.org"]; 590 - sha256 = "1q4ai2i4rswhq5l46ny5066z8pavj3j0qvr9hbgqvzj677fa335f"; 590 + sha256 = "0f3v6ffikj694h925zvfzgx995q6l1ixnqpph3qpnjdsyjpsmbn8"; 591 591 type = "gem"; 592 592 }; 593 - version = "0.23.8"; 593 + version = "0.23.6"; 594 594 }; 595 595 concurrent-ruby = { 596 596 groups = ["default"]; 597 597 platforms = []; 598 598 source = { 599 599 remotes = ["https://rubygems.org"]; 600 - sha256 = "1qnsflsbjj38im8xq35g0vihlz96h09wjn2dad5g543l3vvrkrx5"; 600 + sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14"; 601 601 type = "gem"; 602 602 }; 603 - version = "1.2.0"; 603 + version = "1.1.10"; 604 604 }; 605 605 connection_pool = { 606 606 groups = ["default"]; ··· 627 627 platforms = []; 628 628 source = { 629 629 remotes = ["https://rubygems.org"]; 630 - sha256 = "1lgga9ina9gnpp9ycj8lpqkc5hm5qlxb41s4pfg0w6fnnpgmairc"; 630 + sha256 = "1195gisqv1kn4lpshn6frlnjgx5r9a0gnpkzjxzsi6wfmfys1mwy"; 631 631 type = "gem"; 632 632 }; 633 - version = "1.0.5"; 633 + version = "1.0.1"; 634 634 }; 635 635 curses = { 636 636 groups = ["default"]; ··· 709 709 platforms = []; 710 710 source = { 711 711 remotes = ["https://rubygems.org"]; 712 - sha256 = "0qbj8lvl8lzrbpfj9612iiwxf53drb8jg1l4bd1mcqyds8lw9z9z"; 712 + sha256 = "0kqfwfz3pf6mb22r48ybbp7hkzy2qafdpp1bv1knjd74zyilv73h"; 713 713 type = "gem"; 714 714 }; 715 - version = "7.5.0"; 715 + version = "7.4.0"; 716 716 }; 717 717 dnsruby = { 718 718 dependencies = ["simpleidn"]; ··· 793 793 platforms = []; 794 794 source = { 795 795 remotes = ["https://rubygems.org"]; 796 - sha256 = "08s75vs9cxlc4r1q2bjg4br8g9wc5lc5x5vl0vv4zq5ivxsdpgi7"; 796 + sha256 = "11bz1v1cxabm8672gabrw542zyg51dizlcvdck6vvwzagxbjv9zx"; 797 797 type = "gem"; 798 798 }; 799 - version = "1.12.0"; 799 + version = "1.11.0"; 800 800 }; 801 801 escape = { 802 802 groups = ["default"]; ··· 814 814 platforms = []; 815 815 source = { 816 816 remotes = ["https://rubygems.org"]; 817 - sha256 = "17ix0mijpsy3y0c6ywrk5ibarmvqzjsirjyprpsy3hwax8fdm85v"; 817 + sha256 = "0kd7c61f28f810fgxg480j7457nlvqarza9c2ra0zhav0dd80288"; 818 818 type = "gem"; 819 819 }; 820 - version = "0.16.0"; 820 + version = "0.15.0"; 821 821 }; 822 822 eventmachine = { 823 823 groups = ["default"]; ··· 834 834 platforms = []; 835 835 source = { 836 836 remotes = ["https://rubygems.org"]; 837 - sha256 = "0j826kfvzn7nc5pv950n270r0sx1702k988ad11cdlav3dcxxw09"; 837 + sha256 = "1v71iii13cnlkck20xv0yrbz0g60qn88f4r6518k8vk31sddw4hx"; 838 838 type = "gem"; 839 839 }; 840 - version = "0.99.0"; 840 + version = "0.93.1"; 841 841 }; 842 842 execjs = { 843 843 groups = ["default"]; ··· 855 855 platforms = []; 856 856 source = { 857 857 remotes = ["https://rubygems.org"]; 858 - sha256 = "1f20vjx0ywx0zdb4dfx4cpa7kd51z6vg7dw5hs35laa45dy9g9pj"; 858 + sha256 = "0mqv17hfmph4ylmb2bqyccy64gsgpmzapq5yrmf5yjsqkvw9rxbv"; 859 859 type = "gem"; 860 860 }; 861 - version = "2.7.4"; 861 + version = "2.6.0"; 862 862 }; 863 863 faraday-net_http = { 864 864 groups = ["default"]; 865 865 platforms = []; 866 866 source = { 867 867 remotes = ["https://rubygems.org"]; 868 - sha256 = "13byv3mp1gsjyv8k0ih4612y6vw5kqva6i03wcg4w2fqpsd950k8"; 868 + sha256 = "13b717ddw90iaf4vijy06srmkvrfbzsnyjap93yll0nibad4dbxq"; 869 869 type = "gem"; 870 870 }; 871 - version = "3.0.2"; 871 + version = "3.0.1"; 872 872 }; 873 873 ffi = { 874 874 groups = ["default"]; ··· 1023 1023 platforms = []; 1024 1024 source = { 1025 1025 remotes = ["https://rubygems.org"]; 1026 - sha256 = "0llbqaziga5vawfs71r1ijfiw9allsd15wsrm5vr0sqd3yn7ak89"; 1026 + sha256 = "sha256-bkSvvD2SClHJ5FyERpyqZaWp0im7NNhn+wplbmnZD84="; 1027 1027 type = "gem"; 1028 1028 }; 1029 - version = "1.13.2"; 1029 + version = "1.13.1"; 1030 1030 }; 1031 1031 github-pages = { 1032 1032 dependencies = ["github-pages-health-check" "jekyll" "jekyll-avatar" "jekyll-coffeescript" "jekyll-commonmark-ghpages" "jekyll-default-layout" "jekyll-feed" "jekyll-gist" "jekyll-github-metadata" "jekyll-include-cache" "jekyll-mentions" "jekyll-optional-front-matter" "jekyll-paginate" "jekyll-readme-index" "jekyll-redirect-from" "jekyll-relative-links" "jekyll-remote-theme" "jekyll-sass-converter" "jekyll-seo-tag" "jekyll-sitemap" "jekyll-swiss" "jekyll-theme-architect" "jekyll-theme-cayman" "jekyll-theme-dinky" "jekyll-theme-hacker" "jekyll-theme-leap-day" "jekyll-theme-merlot" "jekyll-theme-midnight" "jekyll-theme-minimal" "jekyll-theme-modernist" "jekyll-theme-primer" "jekyll-theme-slate" "jekyll-theme-tactile" "jekyll-theme-time-machine" "jekyll-titles-from-headings" "jemoji" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "minima" "nokogiri" "rouge" "terminal-table"]; ··· 1034 1034 platforms = []; 1035 1035 source = { 1036 1036 remotes = ["https://rubygems.org"]; 1037 - sha256 = "0brk2sgk01mly2hb1h5hm3ip1l6hjr4xx9zkqfhs5k3swlwnwzq9"; 1037 + sha256 = "0kg03q6hvz191pyqhbhz3qis5niy3qvrxsnd3sdxcqz6a750wmw6"; 1038 1038 type = "gem"; 1039 1039 }; 1040 - version = "228"; 1040 + version = "227"; 1041 1041 }; 1042 1042 github-pages-health-check = { 1043 1043 dependencies = ["addressable" "dnsruby" "octokit" "public_suffix" "typhoeus"]; ··· 1055 1055 platforms = []; 1056 1056 source = { 1057 1057 remotes = ["https://rubygems.org"]; 1058 - sha256 = "1m3ypny84jyvlxf060p3q3d8pb4yihxa2br5hh012bgc11d09nky"; 1058 + sha256 = "0yvh8vv9kgd06hc8c1pl2hq56w56vr0n7dr5mz19fx4p2v89y7xb"; 1059 1059 type = "gem"; 1060 1060 }; 1061 - version = "1.9.0"; 1061 + version = "1.8.1"; 1062 1062 }; 1063 1063 glib2 = { 1064 1064 dependencies = ["native-package-installer" "pkg-config"]; ··· 1088 1088 platforms = []; 1089 1089 source = { 1090 1090 remotes = ["https://rubygems.org"]; 1091 - sha256 = "0qn87vxdsaq1szcvq39rnz38cgqllncdxmiyghnbzl7x5aah8sbw"; 1091 + sha256 = "0xbgh9d8nbvsvyzqnd0mzhz0nr9hx4qn025kmz6d837lry4lc6gw"; 1092 1092 type = "gem"; 1093 1093 }; 1094 - version = "2.0.22"; 1094 + version = "2.0.20"; 1095 1095 }; 1096 1096 gtk2 = { 1097 1097 dependencies = ["atk" "gdk_pixbuf2" "pango"]; ··· 1110 1110 platforms = []; 1111 1111 source = { 1112 1112 remotes = ["https://rubygems.org"]; 1113 - sha256 = "1vcr5wcvfbsq91302playk3i98wdisspkybcmajl04agv4k8xr68"; 1113 + sha256 = "03qiz6kbk260v3613z4wrk8iy1mi06j631fglcskfxyhf18lpy05"; 1114 1114 type = "gem"; 1115 1115 }; 1116 - version = "6.1.1"; 1116 + version = "6.0.8"; 1117 1117 }; 1118 1118 hashie = { 1119 1119 groups = ["default"]; ··· 1130 1130 platforms = []; 1131 1131 source = { 1132 1132 remotes = ["https://rubygems.org"]; 1133 - sha256 = "1f8cr014j7mdqpdb9q17fp5vb5b8n1pswqaif91s3ylg5x3pygfn"; 1133 + sha256 = "0yclf57n2j3cw8144ania99h1zinf8q3f5zrhqa754j6gl95rp9d"; 1134 1134 type = "gem"; 1135 1135 }; 1136 - version = "2.1.0"; 1136 + version = "2.0.3"; 1137 1137 }; 1138 1138 hike = { 1139 1139 groups = ["default"]; ··· 1244 1244 platforms = []; 1245 1245 source = { 1246 1246 remotes = ["https://rubygems.org"]; 1247 - sha256 = "1vdcchz7jli1p0gnc669a7bj3q1fv09y9ppf0y3k0vb1jwdwrqwi"; 1247 + sha256 = "038qvz7kd3cfxk8bvagqhakx68pfbnmghpdkx7573wbf0maqp9a3"; 1248 1248 type = "gem"; 1249 1249 }; 1250 - version = "1.12.0"; 1250 + version = "0.9.5"; 1251 1251 }; 1252 1252 iconv = { 1253 1253 groups = ["default"]; ··· 1264 1264 platforms = []; 1265 1265 source = { 1266 1266 remotes = ["https://rubygems.org"]; 1267 - sha256 = "0dy04jx3n1ddz744b80mg7hp87miysnjp0h21lqr43hpmhdglxih"; 1267 + sha256 = "1xjr8nxpq6vsa4kd7pvd14xxiba9y4dais1yyz4dj567hsqdrhcm"; 1268 1268 type = "gem"; 1269 1269 }; 1270 - version = "0.1.5"; 1270 + version = "0.1.4"; 1271 1271 }; 1272 1272 ipaddr = { 1273 1273 groups = ["default"]; 1274 1274 platforms = []; 1275 1275 source = { 1276 1276 remotes = ["https://rubygems.org"]; 1277 - sha256 = "0ypic2hrmvvcgw7al72raphqv5cs1zvq4w284pwrkvfqsrqrqrsf"; 1277 + sha256 = "13qd34nzpgp3fxfjbvaqg3dcnfr0cgl5vjvcqy0hfllbvfcklnbq"; 1278 1278 type = "gem"; 1279 1279 }; 1280 - version = "1.2.5"; 1280 + version = "1.2.4"; 1281 1281 }; 1282 1282 jaro_winkler = { 1283 1283 groups = ["default"]; ··· 1306 1306 platforms = []; 1307 1307 source = { 1308 1308 remotes = ["https://rubygems.org"]; 1309 - sha256 = "0m9yzkiwm751wbyq3aq1355afcx240r24nrick1fzv578bis4kyy"; 1309 + sha256 = "0wzb3ysr43f9acpdfhnndnqh1ypir01w4s4clzi38l9mxkfc4d75"; 1310 1310 type = "gem"; 1311 1311 }; 1312 - version = "3.9.3"; 1312 + version = "3.9.2"; 1313 1313 }; 1314 1314 jekyll-avatar = { 1315 1315 dependencies = ["jekyll"]; ··· 1350 1350 platforms = []; 1351 1351 source = { 1352 1352 remotes = ["https://rubygems.org"]; 1353 - sha256 = "1zps7bb9kc4qf32b9y9h47z08wpsziklg0jnhcrcz2wxn09fijgd"; 1353 + sha256 = "0xkqq0cyca84hxs47ilkg3sjavwjvc6wijz4n0zd4nxj01jz54bh"; 1354 1354 type = "gem"; 1355 1355 }; 1356 - version = "0.4.0"; 1356 + version = "0.2.0"; 1357 1357 }; 1358 1358 jekyll-default-layout = { 1359 1359 dependencies = ["jekyll"]; ··· 1732 1732 platforms = []; 1733 1733 source = { 1734 1734 remotes = ["https://rubygems.org"]; 1735 - sha256 = "1cdw9vw2qly7q7r41s7phnac264rbsdqgj4l0h4nqgbjb157g393"; 1735 + sha256 = "1mnvb80cdg7fzdcs3xscv21p28w4igk5sj5m7m81xp8v2ks87jj0"; 1736 1736 type = "gem"; 1737 1737 }; 1738 - version = "1.6.2"; 1738 + version = "1.6.1"; 1739 1739 }; 1740 1740 json = { 1741 1741 groups = ["default"]; 1742 1742 platforms = []; 1743 1743 source = { 1744 1744 remotes = ["https://rubygems.org"]; 1745 - sha256 = "0nalhin1gda4v8ybk6lq8f407cgfrj6qzn234yra4ipkmlbfmal6"; 1745 + sha256 = "0yk5d10yvspkc5jyvx9gc1a9pn1z8v4k2hvjk1l88zixwf3wf3cl"; 1746 1746 type = "gem"; 1747 1747 }; 1748 - version = "2.6.3"; 1748 + version = "2.6.2"; 1749 1749 }; 1750 1750 json_pure = { 1751 1751 groups = ["default"]; 1752 1752 platforms = []; 1753 1753 source = { 1754 1754 remotes = ["https://rubygems.org"]; 1755 - sha256 = "0kn736pb52j8b9xxq6l8wqp2chs74aa14vfnp0rijjn086m8b4f3"; 1755 + sha256 = "04d8lc6mc09bqmcrlygh51an8r0j7l3p9aghjkc1g6i4fvmrmxfc"; 1756 1756 type = "gem"; 1757 1757 }; 1758 - version = "2.6.3"; 1758 + version = "2.6.2"; 1759 1759 }; 1760 1760 jwt = { 1761 1761 groups = ["default"]; 1762 1762 platforms = []; 1763 1763 source = { 1764 1764 remotes = ["https://rubygems.org"]; 1765 - sha256 = "09yj3z5snhaawh2z1w45yyihzmh57m6m7dp8ra8gxavhj5kbiq5p"; 1765 + sha256 = "0kcmnx6rgjyd7sznai9ccns2nh7p7wnw3mi8a7vf2wkm51azwddq"; 1766 1766 type = "gem"; 1767 1767 }; 1768 - version = "2.7.0"; 1768 + version = "2.5.0"; 1769 1769 }; 1770 1770 kramdown = { 1771 1771 dependencies = ["rexml"]; ··· 1815 1815 platforms = []; 1816 1816 source = { 1817 1817 remotes = ["https://rubygems.org"]; 1818 - sha256 = "1xz5mrp103i95r4wfxny1f5x7h7vgnxv2p9cdkmmdjzrsk23rijs"; 1818 + sha256 = "1jbqw7hkx08i5dj74fwfdc16980hsj3mhrxp4mmjxsdzw1kndrvp"; 1819 1819 type = "gem"; 1820 1820 }; 1821 - version = "4.0.0"; 1821 + version = "3.2.4"; 1822 1822 }; 1823 1823 link_header = { 1824 1824 groups = ["default"]; ··· 1835 1835 platforms = []; 1836 1836 source = { 1837 1837 remotes = ["https://rubygems.org"]; 1838 - sha256 = "1czxv2i1gv3k7hxnrgfjb0z8khz74l4pmfwd70c7kr25l2qypksg"; 1838 + sha256 = "0zhg5ha8zy8zw9qr3fl4wgk4r5940n4128xm2pn4shpbzdbsj5by"; 1839 1839 type = "gem"; 1840 1840 }; 1841 - version = "4.0.4"; 1841 + version = "4.0.3"; 1842 1842 }; 1843 1843 listen = { 1844 1844 dependencies = ["rb-fsevent" "rb-inotify"]; ··· 1846 1846 platforms = []; 1847 1847 source = { 1848 1848 remotes = ["https://rubygems.org"]; 1849 - sha256 = "13rgkfar8pp31z1aamxf5y7cfq88wv6rxxcwy7cmm177qq508ycn"; 1849 + sha256 = "0agybr37wpjv3xy4ipcmsvsibgdgphzrwbvcj4vfiykpmakwm01v"; 1850 1850 type = "gem"; 1851 1851 }; 1852 - version = "3.8.0"; 1852 + version = "3.7.1"; 1853 1853 }; 1854 1854 loofah = { 1855 1855 dependencies = ["crass" "nokogiri"]; ··· 1857 1857 platforms = []; 1858 1858 source = { 1859 1859 remotes = ["https://rubygems.org"]; 1860 - sha256 = "08qhzck271anrx9y6qa6mh8hwwdzsgwld8q0000rcd7yvvpnjr3c"; 1860 + sha256 = "sha256-bGRp797+NJYBAACjRvnTv3EOEaxGYeNTz1aFIyb7ECM="; 1861 1861 type = "gem"; 1862 1862 }; 1863 1863 version = "2.19.1"; ··· 1961 1961 platforms = []; 1962 1962 source = { 1963 1963 remotes = ["https://rubygems.org"]; 1964 - sha256 = "0slh78f9z6n0l1i2km7m48yz7l4fjrk88sj1f4mh1wb39sl2yc37"; 1964 + sha256 = "1aj604x11d9pksbljh0l38f70b558rhdgji1s9i763hiagvvx2hs"; 1965 1965 type = "gem"; 1966 1966 }; 1967 - version = "4.12.0"; 1967 + version = "4.11.0"; 1968 1968 }; 1969 1969 mini_mime = { 1970 1970 groups = ["default"]; ··· 1981 1981 platforms = []; 1982 1982 source = { 1983 1983 remotes = ["https://rubygems.org"]; 1984 - sha256 = "1af4yarhbbx62f7qsmgg5fynrik0s36wjy3difkawy536xg343mp"; 1984 + sha256 = "0rapl1sfmfi3bfr68da4ca16yhc0pp93vjwkj7y3rdqrzy3b41hy"; 1985 1985 type = "gem"; 1986 1986 }; 1987 - version = "2.8.1"; 1987 + version = "2.8.0"; 1988 1988 }; 1989 1989 minima = { 1990 1990 dependencies = ["jekyll" "jekyll-feed" "jekyll-seo-tag"]; ··· 2002 2002 platforms = []; 2003 2003 source = { 2004 2004 remotes = ["https://rubygems.org"]; 2005 - sha256 = "1kjy67qajw4rnkbjs5jyk7kc3lyhz5613fwj1i8f6ppdk4zampy0"; 2005 + sha256 = "0516ypqlx0mlcfn5xh7qppxqc3xndn1fnadxawa8wld5dkcimy30"; 2006 2006 type = "gem"; 2007 2007 }; 2008 - version = "5.17.0"; 2008 + version = "5.16.3"; 2009 2009 }; 2010 2010 molinillo = { 2011 2011 groups = ["default"]; ··· 2063 2063 platforms = []; 2064 2064 source = { 2065 2065 remotes = ["https://rubygems.org"]; 2066 - sha256 = "1gjvj215qdhwk3292sc7xsn6fmwnnaq2xs35hh5hc8d8j22izlbn"; 2066 + sha256 = "0xsy70mg4p854jska7ff7cy8fyn9nhlkrmfdvkkfmk8qxairbfq1"; 2067 2067 type = "gem"; 2068 2068 }; 2069 - version = "0.5.5"; 2069 + version = "0.5.4"; 2070 2070 }; 2071 2071 nanaimo = { 2072 2072 groups = ["default"]; ··· 2199 2199 platforms = []; 2200 2200 source = { 2201 2201 remotes = ["https://rubygems.org"]; 2202 - sha256 = "0qr6psd9qgv83pklpw7cpmshkcasnv8d777ksmvwsacwfvvkmnxj"; 2202 + sha256 = "sha256-0+4A8mwVF2PaFpHH/Ghx3dA+Uy90+FEB9aztwtCZ6Vg="; 2203 2203 type = "gem"; 2204 2204 }; 2205 - version = "1.14.1"; 2205 + version = "1.13.10"; 2206 2206 }; 2207 2207 octokit = { 2208 2208 dependencies = ["faraday" "sawyer"]; ··· 2215 2215 }; 2216 2216 version = "4.25.1"; 2217 2217 }; 2218 - og-corefoundation = { 2219 - dependencies = ["ffi"]; 2220 - groups = ["default"]; 2221 - platforms = []; 2222 - source = { 2223 - remotes = ["https://rubygems.org"]; 2224 - sha256 = "0xmz13rb92xy55askn5f3kkmz14qwyyhkdsikk2gd1ydicnaqkh8"; 2225 - type = "gem"; 2226 - }; 2227 - version = "0.2.3"; 2228 - }; 2229 2218 openssl = { 2230 2219 dependencies = ["ipaddr"]; 2231 2220 groups = ["default"]; 2232 2221 platforms = []; 2233 2222 source = { 2234 2223 remotes = ["https://rubygems.org"]; 2235 - sha256 = "0rm9nzz2p204dgcplq9v53jr62m74w63vz01rk8dfmcgifkxhnff"; 2224 + sha256 = "0xx01in25q31rpxmq2qlimi44zarsp4px7046xnc6in0pa127xsk"; 2236 2225 type = "gem"; 2237 2226 }; 2238 - version = "2.2.3"; 2227 + version = "2.2.2"; 2239 2228 }; 2240 2229 optimist = { 2241 2230 groups = ["default"]; ··· 2258 2247 }; 2259 2248 version = "1.0.1"; 2260 2249 }; 2250 + osx_keychain = { 2251 + dependencies = ["RubyInline"]; 2252 + groups = ["default"]; 2253 + platforms = []; 2254 + source = { 2255 + remotes = ["https://rubygems.org"]; 2256 + sha256 = "10hr3lihq7s5fv18dp0g4mfncvapkcwcd6xnn5483ximyd7rhfx0"; 2257 + type = "gem"; 2258 + }; 2259 + version = "1.0.2"; 2260 + }; 2261 2261 ovirt-engine-sdk = { 2262 2262 dependencies = ["json"]; 2263 2263 groups = ["default"]; ··· 2275 2275 platforms = []; 2276 2276 source = { 2277 2277 remotes = ["https://rubygems.org"]; 2278 - sha256 = "1hi3jcm9s7hkv35gzgdh3nxs0s9h7kkqwv1x6kalww15msk60fxd"; 2278 + sha256 = "0zk3fwwx8zzxhmfmlgzzr050jzsl58ma54wy99xy4xx0ibmw48pv"; 2279 2279 type = "gem"; 2280 2280 }; 2281 - version = "1.1.0"; 2281 + version = "1.0.4"; 2282 2282 }; 2283 2283 pango = { 2284 2284 dependencies = ["cairo-gobject" "gobject-introspection"]; ··· 2307 2307 platforms = []; 2308 2308 source = { 2309 2309 remotes = ["https://rubygems.org"]; 2310 - sha256 = "0cdjcasyg7w05kk82dqysq29f1qcf8y5sw8iak5flpxjbdil50qv"; 2310 + sha256 = "1q31n7yj59wka8xl8s5wkf66hm4pgvblx95czyxffprdnlhrir2p"; 2311 2311 type = "gem"; 2312 2312 }; 2313 - version = "3.2.1.0"; 2313 + version = "3.1.2.1"; 2314 2314 }; 2315 2315 paru = { 2316 2316 groups = ["default"]; 2317 2317 platforms = []; 2318 2318 source = { 2319 2319 remotes = ["https://rubygems.org"]; 2320 - sha256 = "0mzy0s4cdqm5nvgyj55idc2pv51k3zlgw6sa7825dcyrk2ihcx0c"; 2320 + sha256 = "1v6my9g7bwjlx92hr9w0blnrcrai1yg3yz6k9xz0i6mq8lml2k87"; 2321 2321 type = "gem"; 2322 2322 }; 2323 - version = "1.1.0"; 2323 + version = "1.0.3"; 2324 2324 }; 2325 2325 pastel = { 2326 2326 dependencies = ["tty-color"]; ··· 2369 2369 platforms = []; 2370 2370 source = { 2371 2371 remotes = ["https://rubygems.org"]; 2372 - sha256 = "1wd6nl81nbdwck04hccsm7wf23ghpi8yddd9j4rbwyvyj0sbsff1"; 2372 + sha256 = "09a5z9qhxnybahx162q2q1cygdhxfp6cihdivvzh32jlwc37z1x3"; 2373 2373 type = "gem"; 2374 2374 }; 2375 - version = "1.4.5"; 2375 + version = "1.4.4"; 2376 2376 }; 2377 2377 pkg-config = { 2378 2378 groups = ["default"]; 2379 2379 platforms = []; 2380 2380 source = { 2381 2381 remotes = ["https://rubygems.org"]; 2382 - sha256 = "02fw2pzrmvwp67nbndpy8a2ln74fd8kmsiffw77z7g1mp58ww651"; 2382 + sha256 = "0v9vmkmpha34lwdhig08kb7z4wk3xmw49dvkl99nz9llxhzqr5hl"; 2383 2383 type = "gem"; 2384 2384 }; 2385 - version = "1.5.1"; 2385 + version = "1.4.9"; 2386 2386 }; 2387 2387 polyglot = { 2388 2388 groups = ["default"]; ··· 2410 2410 platforms = []; 2411 2411 source = { 2412 2412 remotes = ["https://rubygems.org"]; 2413 - sha256 = "1bbw4czjr2ch6m57rgjib5a35hx3g18975vwzm2iwq13pvdj9hzk"; 2413 + sha256 = "1l5pk6w63bj7cxy4y9mqvpclw6r0pcm7xa44c33vx3f960px8wk8"; 2414 2414 type = "gem"; 2415 2415 }; 2416 - version = "1.2.0"; 2416 + version = "1.0.2"; 2417 2417 }; 2418 2418 pry = { 2419 2419 dependencies = ["coderay" "method_source"]; ··· 2421 2421 platforms = []; 2422 2422 source = { 2423 2423 remotes = ["https://rubygems.org"]; 2424 - sha256 = "0k9kqkd9nps1w1r1rb7wjr31hqzkka2bhi8b518x78dcxppm9zn4"; 2424 + sha256 = "0m445x8fwcjdyv2bc0glzss2nbm1ll51bq45knixapc7cl3dzdlr"; 2425 2425 type = "gem"; 2426 2426 }; 2427 - version = "0.14.2"; 2427 + version = "0.14.1"; 2428 2428 }; 2429 2429 pry-byebug = { 2430 2430 dependencies = ["byebug" "pry"]; ··· 2443 2443 platforms = []; 2444 2444 source = { 2445 2445 remotes = ["https://rubygems.org"]; 2446 - sha256 = "1pp43n69p6bjvc640wgcz295w1q2v9awcqgbwcqn082dbvq5xvnx"; 2446 + sha256 = "0wyvql6pb6m8jl8bsamabxhxhd86bnqblspaxzz05sl0fm2ynj0r"; 2447 2447 type = "gem"; 2448 2448 }; 2449 - version = "1.4.0"; 2449 + version = "1.3.0"; 2450 2450 }; 2451 2451 public_suffix = { 2452 2452 groups = ["default"]; ··· 2464 2464 platforms = []; 2465 2465 source = { 2466 2466 remotes = ["https://rubygems.org"]; 2467 - sha256 = "1ymaq2m30yx35sninw8mjknsjw23k6458ph9k350khwwn1hh2d1k"; 2467 + sha256 = "1yabmxmqprb2x58awiasidsiwpplscmyar9dzwh5l8jgaw4i3wra"; 2468 2468 type = "gem"; 2469 2469 }; 2470 - version = "6.1.0"; 2470 + version = "6.0.0"; 2471 2471 }; 2472 2472 racc = { 2473 2473 groups = ["default"]; 2474 2474 platforms = []; 2475 2475 source = { 2476 2476 remotes = ["https://rubygems.org"]; 2477 - sha256 = "09jgz6r0f7v84a7jz9an85q8vvmp743dqcsdm3z9c8rqcqv6pljq"; 2477 + sha256 = "0la56m0z26j3mfn1a9lf2l03qx1xifanndf9p3vx1azf6sqy7v9d"; 2478 2478 type = "gem"; 2479 2479 }; 2480 - version = "1.6.2"; 2480 + version = "1.6.0"; 2481 2481 }; 2482 2482 rack = { 2483 2483 groups = ["default"]; 2484 2484 platforms = []; 2485 2485 source = { 2486 2486 remotes = ["https://rubygems.org"]; 2487 - sha256 = "0qvp6h2abmlsl4sqjsvac03cr2mxq6143gbx4kq52rpazp021qsb"; 2487 + sha256 = "0axc6w0rs4yj0pksfll1hjgw1k6a5q0xi2lckh91knfb72v348pa"; 2488 2488 type = "gem"; 2489 2489 }; 2490 - version = "2.2.6.2"; 2490 + version = "2.2.4"; 2491 2491 }; 2492 2492 rack-protection = { 2493 2493 dependencies = ["rack"]; ··· 2495 2495 platforms = []; 2496 2496 source = { 2497 2497 remotes = ["https://rubygems.org"]; 2498 - sha256 = "1a12m1mv8dc0g90fs1myvis8vsgr427k1arg1q4a9qlfw6fqyhis"; 2498 + sha256 = "0jmixih0qrsdz60dhznkk29v50ks55cqq51jjf0yn3amqghh4bhk"; 2499 2499 type = "gem"; 2500 2500 }; 2501 - version = "3.0.5"; 2501 + version = "3.0.2"; 2502 2502 }; 2503 2503 rails-dom-testing = { 2504 2504 dependencies = ["activesupport" "nokogiri"]; ··· 2517 2517 platforms = []; 2518 2518 source = { 2519 2519 remotes = ["https://rubygems.org"]; 2520 - sha256 = "0ygav4xyq943qqyhjmi3mzirn180j565mc9h5j4css59x1sn0cmz"; 2520 + sha256 = "sha256-iV0Mh6K2YjiR6FwdUHx/FqzaTnfZRpL1N981unE5i9U="; 2521 2521 type = "gem"; 2522 2522 }; 2523 - version = "1.5.0"; 2523 + version = "1.4.4"; 2524 2524 }; 2525 2525 rainbow = { 2526 2526 groups = ["default"]; ··· 2589 2589 platforms = []; 2590 2590 source = { 2591 2591 remotes = ["https://rubygems.org"]; 2592 - sha256 = "0dgj5n7rj83981fvrhswfwsh88x42p7r00nvd80hkxmdcjvda2h6"; 2592 + sha256 = "0wd4j2irk88qcrxbhhbrsr6rswz8ckva7n0hsjyffnmx1ya60n8y"; 2593 2593 type = "gem"; 2594 2594 }; 2595 - version = "2.8.4"; 2595 + version = "2.7.0"; 2596 2596 }; 2597 2597 rchardet = { 2598 2598 groups = ["default"]; ··· 2630 2630 platforms = []; 2631 2631 source = { 2632 2632 remotes = ["https://rubygems.org"]; 2633 - sha256 = "1sg9sbf9pm91l7lac7fs4silabyn0vflxwaa2x3lrzsm0ff8ilca"; 2633 + sha256 = "0bvk8yyns5s1ls437z719y5sdv9fr8kfs8dmr6g8s761dv5n8zvi"; 2634 2634 type = "gem"; 2635 2635 }; 2636 - version = "3.6.0"; 2636 + version = "3.5.1"; 2637 2637 }; 2638 2638 redis = { 2639 2639 dependencies = ["redis-client"]; ··· 2641 2641 platforms = []; 2642 2642 source = { 2643 2643 remotes = ["https://rubygems.org"]; 2644 - sha256 = "10r5z5mg1x5kjx3wvwx5d8bqgd2j8pc4dlaasq7nmnl3nsn7sn9k"; 2644 + sha256 = "1s2hvsq0nyxmh27cqv00zk0s6bb4dlxfhzng5x0w8qijpw0vx9h5"; 2645 2645 type = "gem"; 2646 2646 }; 2647 - version = "5.0.6"; 2647 + version = "5.0.5"; 2648 2648 }; 2649 2649 redis-client = { 2650 2650 dependencies = ["connection_pool"]; ··· 2652 2652 platforms = []; 2653 2653 source = { 2654 2654 remotes = ["https://rubygems.org"]; 2655 - sha256 = "1q9h6mgr3nnxlc65r3f78cn208i4l8y2jqa1g6wwjl620za3ay9q"; 2655 + sha256 = "1hkwqi18cbiil787ivvh2s8i6csrn0z3qb4ccp2vhrc2w6ay6ncq"; 2656 2656 type = "gem"; 2657 2657 }; 2658 - version = "0.12.1"; 2658 + version = "0.10.0"; 2659 2659 }; 2660 2660 redis-rack = { 2661 2661 dependencies = ["rack" "redis-store"]; ··· 2684 2684 platforms = []; 2685 2685 source = { 2686 2686 remotes = ["https://rubygems.org"]; 2687 - sha256 = "0d6241adx6drsfzz74nx1ld3394nm6fjpv3ammzr0g659krvgf7q"; 2687 + sha256 = "0mm5sykyblc61a82zz3dag6yy3mvflj2z47060kjzjj5793blqzi"; 2688 2688 type = "gem"; 2689 2689 }; 2690 - version = "2.7.0"; 2690 + version = "2.6.0"; 2691 2691 }; 2692 2692 rest-client = { 2693 2693 dependencies = ["http-accept" "http-cookie" "mime-types" "netrc"]; ··· 2722 2722 version = "3.2.5"; 2723 2723 }; 2724 2724 rmagick = { 2725 - dependencies = ["pkg-config"]; 2726 2725 groups = ["default"]; 2727 2726 platforms = []; 2728 2727 source = { 2729 2728 remotes = ["https://rubygems.org"]; 2730 - sha256 = "11skr2l49cml2wgm74zzcxwdyw0vn0abynhhq1m08jpzr309x730"; 2729 + sha256 = "0v269bx6bhnrlxpsmhr8xjv64dwnnykiw9hr58dwghsps1qb8ib7"; 2731 2730 type = "gem"; 2732 2731 }; 2733 - version = "5.1.0"; 2732 + version = "5.0.0"; 2734 2733 }; 2735 2734 rouge = { 2736 2735 groups = ["default"]; ··· 2769 2768 platforms = []; 2770 2769 source = { 2771 2770 remotes = ["https://rubygems.org"]; 2772 - sha256 = "0da45cvllbv39sdbsl65vp5djb2xf5m10mxc9jm7rsqyyxjw4h1f"; 2771 + sha256 = "1ibb81slc35q5yp276sixp3yrvj9q92wlmi1glbnwlk6g49z8rn4"; 2773 2772 type = "gem"; 2774 2773 }; 2775 - version = "3.12.1"; 2774 + version = "3.12.0"; 2776 2775 }; 2777 2776 rspec-expectations = { 2778 2777 dependencies = ["diff-lcs" "rspec-support"]; ··· 2780 2779 platforms = []; 2781 2780 source = { 2782 2781 remotes = ["https://rubygems.org"]; 2783 - sha256 = "03ba3lfdsj9zl00v1yvwgcx87lbadf87livlfa5kgqssn9qdnll6"; 2782 + sha256 = "0qldsmjhqr4344zdlamzggr3y98wdk2c4hihkhwx8imk800gkl8v"; 2784 2783 type = "gem"; 2785 2784 }; 2786 - version = "3.12.2"; 2785 + version = "3.12.0"; 2787 2786 }; 2788 2787 rspec-mocks = { 2789 2788 dependencies = ["diff-lcs" "rspec-support"]; ··· 2791 2790 platforms = []; 2792 2791 source = { 2793 2792 remotes = ["https://rubygems.org"]; 2794 - sha256 = "0sq2cc9pm5gq411y7iwfvzbmgv3g91lyf7y7cqn1lr3yf1v122nc"; 2793 + sha256 = "1yvwnb0x5d6d4ff3wlgahk0wcw72ic51gd2snr1xxc5ify41kabv"; 2795 2794 type = "gem"; 2796 2795 }; 2797 - version = "3.12.3"; 2796 + version = "3.12.0"; 2798 2797 }; 2799 2798 rspec-support = { 2800 2799 groups = ["default"]; ··· 2812 2811 platforms = []; 2813 2812 source = { 2814 2813 remotes = ["https://rubygems.org"]; 2815 - sha256 = "1jsiy93y5c2sx2sr5jmdah208idw038m2fpihgan4klmldm3r1pm"; 2814 + sha256 = "1xhm882zzs4z4ivknrymh6lgnd3p90b651dn0fp32dciajdxr9f1"; 2816 2815 type = "gem"; 2817 2816 }; 2818 - version = "1.45.1"; 2817 + version = "1.37.1"; 2819 2818 }; 2820 2819 rubocop-ast = { 2821 2820 dependencies = ["parser"]; ··· 2823 2822 platforms = []; 2824 2823 source = { 2825 2824 remotes = ["https://rubygems.org"]; 2826 - sha256 = "1zqk8dgjjhm0zll2rxqvvb8fl5vin7mmbc1ndn1a2q4276ri6ydc"; 2825 + sha256 = "1qiq3q66w57im0ryrvnd1yq0g2s2safhywpv94441kvc1amayjzy"; 2827 2826 type = "gem"; 2828 2827 }; 2829 - version = "1.26.0"; 2828 + version = "1.23.0"; 2830 2829 }; 2831 2830 rubocop-performance = { 2832 2831 dependencies = ["rubocop" "rubocop-ast"]; ··· 2834 2833 platforms = []; 2835 2834 source = { 2836 2835 remotes = ["https://rubygems.org"]; 2837 - sha256 = "1n7g0vg06ldjaq4f8c11c7yqy99zng1qdrkkk4kfziippy24yxnc"; 2836 + sha256 = "1h06a2asg8pjq7l0k885126n60y54rgw0qr957qarpv7qligzn4c"; 2838 2837 type = "gem"; 2839 2838 }; 2840 - version = "1.16.0"; 2839 + version = "1.15.0"; 2841 2840 }; 2842 2841 ruby-graphviz = { 2843 2842 dependencies = ["rexml"]; ··· 2849 2848 type = "gem"; 2850 2849 }; 2851 2850 version = "1.2.5"; 2852 - }; 2853 - ruby-keychain = { 2854 - dependencies = ["ffi" "og-corefoundation"]; 2855 - groups = ["default"]; 2856 - platforms = []; 2857 - source = { 2858 - remotes = ["https://rubygems.org"]; 2859 - sha256 = "1g57fr1r39bfh1r887hp87mawfg3miidagvpqyqq3l0152ya43wr"; 2860 - type = "gem"; 2861 - }; 2862 - version = "0.4.0"; 2863 2851 }; 2864 2852 ruby-libvirt = { 2865 2853 groups = ["default"]; ··· 2932 2920 }; 2933 2921 version = "0.0.5"; 2934 2922 }; 2923 + RubyInline = { 2924 + dependencies = ["ZenTest"]; 2925 + groups = ["default"]; 2926 + platforms = []; 2927 + source = { 2928 + remotes = ["https://rubygems.org"]; 2929 + sha256 = "1zq24qvkqzjsrcwyz9lp3pm602kqw08cp3g1acf3zy0nc7npvx9p"; 2930 + type = "gem"; 2931 + }; 2932 + version = "3.12.6"; 2933 + }; 2935 2934 rubyzip = { 2936 2935 groups = ["default"]; 2937 2936 platforms = []; ··· 2947 2946 platforms = []; 2948 2947 source = { 2949 2948 remotes = ["https://rubygems.org"]; 2950 - sha256 = "0wnfgxx59nq2wpvi8ll7bqw9x99x5hps6i38xdjrwbb5a3896d58"; 2949 + sha256 = "02h1cv73znwfgy61mqmfylcfvwyyp3lddiz3njgivfx234mpz50x"; 2951 2950 type = "gem"; 2952 2951 }; 2953 - version = "1.5.1"; 2952 + version = "1.5.0.1"; 2954 2953 }; 2955 2954 safe_yaml = { 2956 2955 groups = ["default"]; ··· 3022 3021 platforms = []; 3023 3022 source = { 3024 3023 remotes = ["https://rubygems.org"]; 3025 - sha256 = "1ffbd7jimj73fwdg7gf26bfc41a06aqi7zrwj90pkkwxipjljrzl"; 3024 + sha256 = "1yzv7gn539aqwpada2mvfrnbdygr3d61ryp68ncp3kpx6nbz1x25"; 3026 3025 type = "gem"; 3027 3026 }; 3028 - version = "0.17.0"; 3027 + version = "0.16.0"; 3029 3028 }; 3030 3029 sequel = { 3031 3030 groups = ["default"]; 3032 3031 platforms = []; 3033 3032 source = { 3034 3033 remotes = ["https://rubygems.org"]; 3035 - sha256 = "1yf5sqw15gj5vmrbklw144y0wg8r92fwczfg64znwn61k9bz9j21"; 3034 + sha256 = "1qg80fqxs1rabsg3xrkfkkicnn1z2p02xsb1lxv78a6iw5p17d73"; 3036 3035 type = "gem"; 3037 3036 }; 3038 - version = "5.65.0"; 3037 + version = "5.61.0"; 3039 3038 }; 3040 3039 sequel_pg = { 3041 3040 dependencies = ["pg" "sequel"]; ··· 3043 3042 platforms = []; 3044 3043 source = { 3045 3044 remotes = ["https://rubygems.org"]; 3046 - sha256 = "01j51vn47ynyhlxpgz6wj8swm3d8g1hrad1678s0sd43kh2hqxdg"; 3045 + sha256 = "15ndf1wr45vyqiyc3059f8zv0wp11i6xqfqclsa0v3qf739jb1zw"; 3047 3046 type = "gem"; 3048 3047 }; 3049 - version = "1.17.1"; 3048 + version = "1.17.0"; 3050 3049 }; 3051 3050 simplecov = { 3052 3051 dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"]; ··· 3054 3053 platforms = []; 3055 3054 source = { 3056 3055 remotes = ["https://rubygems.org"]; 3057 - sha256 = "198kcbrjxhhzca19yrdcd6jjj9sb51aaic3b0sc3pwjghg3j49py"; 3056 + sha256 = "1hrv046jll6ad1s964gsmcq4hvkr3zzr6jc7z1mns22mvfpbc3cr"; 3058 3057 type = "gem"; 3059 3058 }; 3060 - version = "0.22.0"; 3059 + version = "0.21.2"; 3061 3060 }; 3062 3061 simplecov-html = { 3063 3062 groups = ["default"]; ··· 3096 3095 platforms = []; 3097 3096 source = { 3098 3097 remotes = ["https://rubygems.org"]; 3099 - sha256 = "1ryfja9yd3fq8n1p5yi3qnd0pjk7bkycmxxmbb1bj0axlr1pdv20"; 3098 + sha256 = "0c2vmy0j5amy9fihs2gz2ssm4bdpqqh4llyjfl6qqqry7f87c6xz"; 3100 3099 type = "gem"; 3101 3100 }; 3102 - version = "3.0.5"; 3101 + version = "3.0.2"; 3103 3102 }; 3104 3103 slather = { 3105 3104 dependencies = ["CFPropertyList" "activesupport" "clamp" "nokogiri" "xcodeproj"]; ··· 3107 3106 platforms = []; 3108 3107 source = { 3109 3108 remotes = ["https://rubygems.org"]; 3110 - sha256 = "0kdigir21jinkkj4q3cjsswix26lmff1rmnwjz2ywc6y9d8ib9ak"; 3109 + sha256 = "0wy8ws5n2gvxgkncbhrp4vkwjcbphcczw4k7y3g2wfl8fdmv5b4n"; 3111 3110 type = "gem"; 3112 3111 }; 3113 - version = "2.7.4"; 3112 + version = "2.7.2"; 3114 3113 }; 3115 3114 slop = { 3116 3115 groups = ["default"]; ··· 3148 3147 platforms = []; 3149 3148 source = { 3150 3149 remotes = ["https://rubygems.org"]; 3151 - sha256 = "1pdy2f5phffknx98j2f5k72s52ayp456m3jkg08vx396yg59l0gi"; 3150 + sha256 = "0smcpi3x87chkdqdclhgh36xlbwm7r44r58m3k1w4mcikdwlpjl7"; 3152 3151 type = "gem"; 3153 3152 }; 3154 - version = "0.48.0"; 3153 + version = "0.47.2"; 3155 3154 }; 3156 3155 sqlite3 = { 3157 3156 dependencies = ["mini_portile2"]; ··· 3159 3158 platforms = []; 3160 3159 source = { 3161 3160 remotes = ["https://rubygems.org"]; 3162 - sha256 = "0f24qp50mc1qg8yvv7b3x73mh78d6mzd3b7rqib1ixfbsdiayx1x"; 3161 + sha256 = "1i95rgfxdj2rhxifps27dz7fjfdih5iyl7b01di9gdmh9m04ylk6"; 3163 3162 type = "gem"; 3164 3163 }; 3165 - version = "1.6.0"; 3164 + version = "1.5.3"; 3166 3165 }; 3167 3166 string_inflection = { 3168 3167 groups = ["default"]; ··· 3180 3179 platforms = []; 3181 3180 source = { 3182 3181 remotes = ["https://rubygems.org"]; 3183 - sha256 = "0zkq75hcqnxnipvccsd2f7vqcra6rplzvn1ds73sna6lcy8s6sxa"; 3182 + sha256 = "1im3kskcrmwa12q4pxilps7dyf9jlc82saasp6lkn5q7zqi7ilfh"; 3184 3183 type = "gem"; 3185 3184 }; 3186 - version = "6.0.0"; 3185 + version = "4.3.0"; 3187 3186 }; 3188 3187 syntax_tree-haml = { 3189 3188 dependencies = ["haml" "prettier_print" "syntax_tree"]; ··· 3191 3190 platforms = []; 3192 3191 source = { 3193 3192 remotes = ["https://rubygems.org"]; 3194 - sha256 = "0nnq6z8xhvcv3yc7rf64np3f8dx6j8gmvbi6ws3lwccq4w5cmqnk"; 3193 + sha256 = "0n2ag309fzz9qvj634aibv2khfc45vvsg1sra227ssn3xwcvx4vq"; 3195 3194 type = "gem"; 3196 3195 }; 3197 - version = "3.0.0"; 3196 + version = "2.0.0"; 3198 3197 }; 3199 3198 syntax_tree-rbs = { 3200 3199 dependencies = ["prettier_print" "rbs" "syntax_tree"]; ··· 3212 3211 platforms = []; 3213 3212 source = { 3214 3213 remotes = ["https://rubygems.org"]; 3215 - sha256 = "0yvchq3j0splz70796a27hr1v6ifhyab5ddc9fl1x734nhmsy4rb"; 3214 + sha256 = "0zf6cavsmj87lszy0b5mzw6mdg0dbsb7f52xy2fx06y9abv78xxw"; 3216 3215 type = "gem"; 3217 3216 }; 3218 - version = "1.1.3"; 3217 + version = "1.1.2"; 3219 3218 }; 3220 3219 temple = { 3221 3220 groups = ["default"]; 3222 3221 platforms = []; 3223 3222 source = { 3224 3223 remotes = ["https://rubygems.org"]; 3225 - sha256 = "07k5wr2ypsmsbyc9d1plhdki4xr7vvggld8r1i49iljkrpx5nbqc"; 3224 + sha256 = "1kzp8c08jl137v62rafmr81b7hg01q3d1q70fr5y5cmmranfpml1"; 3226 3225 type = "gem"; 3227 3226 }; 3228 - version = "0.10.0"; 3227 + version = "0.9.1"; 3229 3228 }; 3230 3229 terminal-table = { 3230 + dependencies = ["unicode-display_width"]; 3231 3231 groups = ["default"]; 3232 3232 platforms = []; 3233 3233 source = { 3234 3234 remotes = ["https://rubygems.org"]; 3235 - sha256 = "0hbmzfr17ji5ws5x5z3kypmb5irwwss7q7kkad0gs005ibqrxv0a"; 3235 + sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk"; 3236 3236 type = "gem"; 3237 3237 }; 3238 - version = "1.6.0"; 3238 + version = "1.8.0"; 3239 3239 }; 3240 3240 thor = { 3241 3241 groups = ["default"]; ··· 3247 3247 }; 3248 3248 version = "1.2.1"; 3249 3249 }; 3250 + thread_safe = { 3251 + groups = ["default"]; 3252 + platforms = []; 3253 + source = { 3254 + remotes = ["https://rubygems.org"]; 3255 + sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; 3256 + type = "gem"; 3257 + }; 3258 + version = "0.3.6"; 3259 + }; 3250 3260 thrift = { 3251 3261 groups = ["default"]; 3252 3262 platforms = []; ··· 3293 3303 platforms = []; 3294 3304 source = { 3295 3305 remotes = ["https://rubygems.org"]; 3296 - sha256 = "0adc8qblz8ii668r3rksjx83p675iryh52rvdvysimx2hkbasj7d"; 3306 + sha256 = "0697qz1akblf8r3wi0s2dsjh468hfsd57fb0mrp93z35y2ni6bhh"; 3297 3307 type = "gem"; 3298 3308 }; 3299 - version = "1.6.12"; 3309 + version = "1.6.11"; 3300 3310 }; 3301 3311 tty-color = { 3302 3312 groups = ["default"]; ··· 3341 3351 version = "1.4.0"; 3342 3352 }; 3343 3353 tzinfo = { 3344 - dependencies = ["concurrent-ruby"]; 3354 + dependencies = ["thread_safe"]; 3345 3355 groups = ["default"]; 3346 3356 platforms = []; 3347 3357 source = { 3348 3358 remotes = ["https://rubygems.org"]; 3349 - sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd"; 3359 + sha256 = "0rw89y3zj0wcybcyiazgcprg6hi42k8ipp1n2lbl95z1dmpgmly6"; 3350 3360 type = "gem"; 3351 3361 }; 3352 - version = "2.0.6"; 3362 + version = "1.2.10"; 3353 3363 }; 3354 3364 uglifier = { 3355 3365 dependencies = ["execjs"]; ··· 3388 3398 platforms = []; 3389 3399 source = { 3390 3400 remotes = ["https://rubygems.org"]; 3391 - sha256 = "1gi82k102q7bkmfi7ggn9ciypn897ylln1jk9q67kjhr39fj043a"; 3401 + sha256 = "1204c1jx2g89pc25qk5150mk7j5k90692i7ihgfzqnad6qni74h2"; 3392 3402 type = "gem"; 3393 3403 }; 3394 - version = "2.4.2"; 3404 + version = "1.8.0"; 3395 3405 }; 3396 3406 uuid4r = { 3397 3407 groups = ["default"]; ··· 3472 3482 platforms = []; 3473 3483 source = { 3474 3484 remotes = ["https://rubygems.org"]; 3475 - sha256 = "028ld9qmgdllxrl7d0qkl65s58wb1n3gv8yjs28g43a8b1hplxk1"; 3485 + sha256 = "18hihq3hxs2ywxh3ixm366cawwy4k733mh680ldaa1vxjiraxj58"; 3476 3486 type = "gem"; 3477 3487 }; 3478 - version = "2.6.7"; 3488 + version = "2.6.1"; 3489 + }; 3490 + ZenTest = { 3491 + groups = ["default"]; 3492 + platforms = []; 3493 + source = { 3494 + remotes = ["https://rubygems.org"]; 3495 + sha256 = "1vss0ldskqprnlvl5pczcl8p346p2ib1sc6hyprbprh6gjq4v16y"; 3496 + type = "gem"; 3497 + }; 3498 + version = "4.12.1"; 3479 3499 }; 3480 3500 zookeeper = { 3481 3501 groups = ["default"]; 3482 3502 platforms = []; 3483 3503 source = { 3484 3504 remotes = ["https://rubygems.org"]; 3485 - sha256 = "1hc87pbmgc53lksa1aql61kxn9d2kjzmlhnjxa5rcn01qhm3pkvg"; 3505 + sha256 = "0gbmc76cxi4nlhrdch8ykinyzp5f2m6d272g8xhn5rjg3fjp15l1"; 3486 3506 type = "gem"; 3487 3507 }; 3488 - version = "1.5.5"; 3508 + version = "1.5.3"; 3489 3509 }; 3490 3510 }