From f19b523d5c05d4f58256924cc8b05a7406127fa8 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Tue, 2 Dec 2025 03:21:28 +0100 Subject: [PATCH 1/8] mdbook: 0.4.52 -> 0.5.1 --- pkgs/by-name/md/mdbook/package.nix | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/md/mdbook/package.nix b/pkgs/by-name/md/mdbook/package.nix index 6a21c81805752..010aabc320d4a 100644 --- a/pkgs/by-name/md/mdbook/package.nix +++ b/pkgs/by-name/md/mdbook/package.nix @@ -8,7 +8,7 @@ installShellFiles, }: let - version = "0.4.52"; + version = "0.5.1"; in rustPlatform.buildRustPackage rec { inherit version; @@ -18,18 +18,10 @@ rustPlatform.buildRustPackage rec { owner = "rust-lang"; repo = "mdBook"; tag = "v${version}"; - hash = "sha256-a3GSMz1+8Ve5cp4x1NjBlsCU/wMC4Jl3/H9qx7+1XlI="; + hash = "sha256-t7Qou3H6dlO97puWQGkPlyb0jjpGoYCrz041iZWWL/s="; }; - cargoHash = "sha256-wvTixSVHXglJM+nBMulZNZKF8pZfNd2G8Z+1PlAWmpk="; - - patches = [ - (fetchpatch2 { - name = "fix-rust-1.91-tests.patch"; - url = "https://github.com/rust-lang/mdBook/commit/841c68d05e763b031524a2b4d679f033cd15e64c.patch?full_index=1"; - hash = "sha256-KDQhmFX2TWamtdyssFL69MP3vg9LABb+bF8/7vaFsew="; - }) - ]; + cargoHash = "sha256-bJr0u025syrP/LGgIbXD0mRvQrvnnOntiaAfr/9tQ90="; nativeBuildInputs = [ installShellFiles ]; From 9163ecb93ed0bed7b38ca5b4010dc73162d0a86e Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Wed, 10 Dec 2025 17:04:32 +0100 Subject: [PATCH 2/8] nixVersions: apply mdbook 0.5 support patches --- pkgs/tools/package-management/nix/default.nix | 117 ++++++++++++------ 1 file changed, 78 insertions(+), 39 deletions(-) diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 877ab89b4a8e5..382971ff4db56 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -136,33 +136,56 @@ lib.makeExtensible ( version = "2.28.5"; hash = "sha256-oIfAHxO+BCtHXJXLHBnsKkGl1Pw+Uuq1PwNxl+lZ+Oc="; self_attribute_name = "nix_2_28"; + patches = [ + (fetchpatch2 { + name = "nix-2.28-14764-mdbook-0.5-support.patch"; + url = "https://github.com/NixOS/nix/commit/5a64138e862fe364e751c5c286e8db8c466aaee7.patch"; + hash = "sha256-K5TNroqSRH9j7vSzWw/6/b19mu7q+J5XPTDvJ3xVWlE="; + }) + ]; }; - nixComponents_2_29 = nixDependencies.callPackage ./modular/packages.nix rec { - version = "2.29.2"; - inherit maintainers teams; - otherSplices = generateSplicesForNixComponents "nixComponents_2_29"; - src = fetchFromGitHub { - owner = "NixOS"; - repo = "nix"; - tag = version; - hash = "sha256-50p2sG2RFuRnlS1/Vr5et0Rt+QDgfpNE2C2WWRztnbQ="; - }; - }; + nixComponents_2_29 = + (nixDependencies.callPackage ./modular/packages.nix rec { + version = "2.29.2"; + inherit maintainers teams; + otherSplices = generateSplicesForNixComponents "nixComponents_2_29"; + src = fetchFromGitHub { + owner = "NixOS"; + repo = "nix"; + tag = version; + hash = "sha256-50p2sG2RFuRnlS1/Vr5et0Rt+QDgfpNE2C2WWRztnbQ="; + }; + }).appendPatches + [ + (fetchpatch2 { + name = "nix-2.29-14763-mdbook-0.5-support.patch"; + url = "https://github.com/NixOS/nix/commit/0501ae1e4965549cbf1314e471f92f4226e46ef1.patch"; + hash = "sha256-w8WQfWxMtprDLoZUhrCm4zr6xZXKhoIirq3la0Y7/wU="; + }) + ]; nix_2_29 = addTests "nix_2_29" self.nixComponents_2_29.nix-everything; - nixComponents_2_30 = nixDependencies.callPackage ./modular/packages.nix rec { - version = "2.30.3"; - inherit maintainers teams; - otherSplices = generateSplicesForNixComponents "nixComponents_2_30"; - src = fetchFromGitHub { - owner = "NixOS"; - repo = "nix"; - tag = version; - hash = "sha256-kBuwzMgIE9Tmve0Rpp+q+YCsE2mw9d62M/950ViWeJ0="; - }; - }; + nixComponents_2_30 = + (nixDependencies.callPackage ./modular/packages.nix rec { + version = "2.30.3"; + inherit maintainers teams; + otherSplices = generateSplicesForNixComponents "nixComponents_2_30"; + src = fetchFromGitHub { + owner = "NixOS"; + repo = "nix"; + tag = version; + hash = "sha256-kBuwzMgIE9Tmve0Rpp+q+YCsE2mw9d62M/950ViWeJ0="; + }; + }).appendPatches + [ + (fetchpatch2 { + name = "nix-2.30-14695-mdbook-0.5-support.patch"; + url = "https://github.com/NixOS/nix/commit/5cbd7856de0a9c13351f98e32a1e26d0854d87fd.patch"; + hash = "sha256-w8WQfWxMtprDLoZUhrCm4zr6xZXKhoIirq3la0Y7/wU="; + }) + ]; nix_2_30 = addTests "nix_2_30" self.nixComponents_2_30.nix-everything; @@ -179,27 +202,43 @@ lib.makeExtensible ( }; }).appendPatches ( - # issues on darwin: https://github.com/NixOS/nixpkgs/pull/468208#issuecomment-3626314109 - lib.optional stdenv.isLinux (fetchpatch2 { - name = "nix-2.31-14240-sri-error-message.patch"; - url = "https://github.com/NixOS/nix/commit/56751b1cd2c4700c71c545f2246adf602c97fdf5.patch"; - hash = "sha256-CerSBAI+H2RqPp9jsCP0QIM2rZYx3yBZHVVUAztgc18="; - }) + [ + (fetchpatch2 { + name = "nix-2.31-14692-mdbook-0.5-support.patch"; + url = "https://github.com/NixOS/nix/commit/a4f5f365090980a6eeb2ef483e49c04bdefd71a8.patch"; + hash = "sha256-GOWZtHSzHovnD8iUknr61bo7y85i0BKdw3kVBGDfBX0="; + }) + ] + ++ + # issues on darwin: https://github.com/NixOS/nixpkgs/pull/468208#issuecomment-3626314109 + lib.optional stdenv.isLinux (fetchpatch2 { + name = "nix-2.31-14240-sri-error-message.patch"; + url = "https://github.com/NixOS/nix/commit/56751b1cd2c4700c71c545f2246adf602c97fdf5.patch"; + hash = "sha256-CerSBAI+H2RqPp9jsCP0QIM2rZYx3yBZHVVUAztgc18="; + }) ); nix_2_31 = addTests "nix_2_31" self.nixComponents_2_31.nix-everything; - nixComponents_2_32 = nixDependencies.callPackage ./modular/packages.nix rec { - version = "2.32.4"; - inherit (self.nix_2_31.meta) maintainers teams; - otherSplices = generateSplicesForNixComponents "nixComponents_2_32"; - src = fetchFromGitHub { - owner = "NixOS"; - repo = "nix"; - tag = version; - hash = "sha256-8QYnRyGOTm3h/Dp8I6HCmQzlO7C009Odqyp28pTWgcY="; - }; - }; + nixComponents_2_32 = + (nixDependencies.callPackage ./modular/packages.nix rec { + version = "2.32.4"; + inherit (self.nix_2_31.meta) maintainers teams; + otherSplices = generateSplicesForNixComponents "nixComponents_2_32"; + src = fetchFromGitHub { + owner = "NixOS"; + repo = "nix"; + tag = version; + hash = "sha256-8QYnRyGOTm3h/Dp8I6HCmQzlO7C009Odqyp28pTWgcY="; + }; + }).appendPatches + [ + (fetchpatch2 { + name = "nix-2.32-14693-mdbook-0.5-support.patch"; + url = "https://github.com/NixOS/nix/commit/ba5bede9f51f126b29aaa01a3170da281cef0231.patch"; + hash = "sha256-jY5fWnJSBfHRmB0RnBKeu3aYQ8wmDKYVqTj85cWVZRA="; + }) + ]; nix_2_32 = addTests "nix_2_32" self.nixComponents_2_32.nix-everything; From 5cd20ff81da5232849eb782eb47af4078f606273 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Tue, 16 Dec 2025 15:46:06 +0100 Subject: [PATCH 3/8] lixPackageSets: apply mdbook 0.5 support patches Apply patches to lix_2_93, lix_2_94, and git versions to support building documentation with mdbook 0.5. The patch is from upstream Lix commit 54df89f6, which maintains compatibility with both mdbook 0.4.x and 0.5.x. https://git.lix.systems/lix-project/lix/issues/1051 --- pkgs/tools/package-management/lix/default.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/tools/package-management/lix/default.nix b/pkgs/tools/package-management/lix/default.nix index ebf4a6fd6b09d..b4eaa2d80269c 100644 --- a/pkgs/tools/package-management/lix/default.nix +++ b/pkgs/tools/package-management/lix/default.nix @@ -30,6 +30,14 @@ confDir ? "/etc", }: let + # Support for mdbook >= 0.5, https://git.lix.systems/lix-project/lix/issues/1051 + lixMdbookPatch = fetchpatch2 { + name = "lix-mdbook-0.5-support.patch"; + url = "https://git.lix.systems/lix-project/lix/commit/54df89f601b3b4502a5c99173c9563495265d7e7.patch"; + excludes = [ "package.nix" ]; + hash = "sha256-uu/SIG8fgVVWhsGxmszTPHwe4SQtLgbxdShOMKbeg2w="; + }; + makeLixScope = { attrName, @@ -214,6 +222,8 @@ lib.makeExtensible ( url = "https://git.lix.systems/lix-project/lix/commit/b6d5670bcffebdd43352ea79b36135e35a8148d9.patch"; hash = "sha256-f4s0TR5MhNMNM5TYLOR7K2/1rtZ389KDjTCKFVK0OcE="; }) + + lixMdbookPatch ]; }; }; @@ -237,6 +247,8 @@ lib.makeExtensible ( inherit src; hash = "sha256-APm8m6SVEAO17BBCka13u85/87Bj+LePP7Y3zHA3Mpg="; }; + + patches = [ lixMdbookPatch ]; }; }; @@ -259,6 +271,8 @@ lib.makeExtensible ( inherit src; hash = "sha256-APm8m6SVEAO17BBCka13u85/87Bj+LePP7Y3zHA3Mpg="; }; + + patches = [ lixMdbookPatch ]; }; }; From 2ce35ff13f7bc48b421eadf94d12cf055e000383 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Wed, 17 Dec 2025 23:59:36 +0100 Subject: [PATCH 4/8] devenv: apply mdbook 0.5 support patch to devenv_nix Apply the mdbook 0.5 support patch to devenv's bundled Nix 2.30.4. The patch is from upstream Nix commit 5cbd7856, which maintains compatibility with both mdbook 0.4.x and 0.5.x. The doc/manual/package.nix file is excluded as it doesn't exist in cachix's Nix fork. https://github.com/NixOS/nix/issues/14628 --- pkgs/by-name/de/devenv/package.nix | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/de/devenv/package.nix b/pkgs/by-name/de/devenv/package.nix index 1d9633ccf52ef..6fe3cacc41ca2 100644 --- a/pkgs/by-name/de/devenv/package.nix +++ b/pkgs/by-name/de/devenv/package.nix @@ -1,6 +1,7 @@ { lib, fetchFromGitHub, + fetchpatch2, gitMinimal, makeBinaryWrapper, installShellFiles, @@ -20,16 +21,27 @@ let devenvNixVersion = "2.30.4"; devenv_nix = + let + components = + (nixVersions.nixComponents_git.override { version = devenvNixVersion; }).overrideSource + (fetchFromGitHub { + owner = "cachix"; + repo = "nix"; + rev = "devenv-${devenvNixVersion}"; + hash = "sha256-3+GHIYGg4U9XKUN4rg473frIVNn8YD06bjwxKS1IPrU="; + }); + in ( - (nixVersions.nixComponents_git.override { version = devenvNixVersion; }) - .nix-everything.overrideSource - (fetchFromGitHub { - owner = "cachix"; - repo = "nix"; - rev = "devenv-${devenvNixVersion}"; - hash = "sha256-3+GHIYGg4U9XKUN4rg473frIVNn8YD06bjwxKS1IPrU="; - }) - ).overrideAttrs + # Support for mdbook >= 0.5, https://github.com/NixOS/nix/issues/14628 + components.appendPatches [ + (fetchpatch2 { + name = "nix-2.30-14695-mdbook-0.5-support.patch"; + url = "https://github.com/NixOS/nix/commit/5cbd7856de0a9c13351f98e32a1e26d0854d87fd.patch"; + excludes = [ "doc/manual/package.nix" ]; + hash = "sha256-GYaTOG9wZT9UI4G6za535PkLyjHKSxwBjJsXbjmI26g="; + }) + ] + ).nix-everything.overrideAttrs (old: { pname = "devenv-nix"; version = devenvNixVersion; From 0768ca2fd9b01eafe30ffff9b066b24db4083f55 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Thu, 18 Dec 2025 00:13:22 +0100 Subject: [PATCH 5/8] nixVersions.git: 2.33pre20251107_479b6b73 -> 2.34pre20251217_b6add8dc Update to latest Nix master which includes mdbook 0.5 support merged in PR #14690. https://github.com/NixOS/nix/pull/14690 --- pkgs/tools/package-management/nix/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 382971ff4db56..f804f83e6dd60 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -243,14 +243,14 @@ lib.makeExtensible ( nix_2_32 = addTests "nix_2_32" self.nixComponents_2_32.nix-everything; nixComponents_git = nixDependencies.callPackage ./modular/packages.nix rec { - version = "2.33pre20251107_${lib.substring 0 8 src.rev}"; + version = "2.34pre20251217_${lib.substring 0 8 src.rev}"; inherit maintainers teams; otherSplices = generateSplicesForNixComponents "nixComponents_git"; src = fetchFromGitHub { owner = "NixOS"; repo = "nix"; - rev = "479b6b73a9576452c14ca66b7f3cd4873969077e"; - hash = "sha256-eBjgsauQXFz2yeiNoPEzgkf7uyV+S8HYCQgZhPVx/9I="; + rev = "b6add8dcc6f4f6feb1ce83aaffe4d7e660e6f616"; + hash = "sha256-2au7PdQ4HXSuktTPCtOJoD/LNjqMwbHIJmuzEYW1b7I="; }; }; From e7f30ad157cf0973adb8b1d1bd853421084c3f5d Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Thu, 18 Dec 2025 02:13:22 +0100 Subject: [PATCH 6/8] helix: fix build with mdbook 0.5 Update helix documentation build for mdbook 0.5 compatibility. Changes: - Replace deprecated {{#previous}}/{{#next}} helpers with {{#if}} blocks - Update link references from {{link}} to {{previous.link}}/{{next.link}} - Escape HTML tags in command descriptions to prevent markdown parsing errors - Fix book-html path in postInstall (../book-html instead of book-html) The mdbook 0.5 release changed navigation helpers from block helpers to simple objects, requiring template syntax updates in index.hbs. --- pkgs/by-name/he/helix/mdbook-0.5-support.patch | 14 ++++++++++++++ pkgs/by-name/he/helix/package.nix | 14 +++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 pkgs/by-name/he/helix/mdbook-0.5-support.patch diff --git a/pkgs/by-name/he/helix/mdbook-0.5-support.patch b/pkgs/by-name/he/helix/mdbook-0.5-support.patch new file mode 100644 index 0000000000000..11591af15937f --- /dev/null +++ b/pkgs/by-name/he/helix/mdbook-0.5-support.patch @@ -0,0 +1,14 @@ +--- a/helix-term/src/commands.rs ++++ b/helix-term/src/commands.rs +@@ -424,9 +424,9 @@ impl MappableCommand { + add_newline_below, "Add newline below", + goto_type_definition, "Goto type definition", + goto_implementation, "Goto implementation", +- goto_file_start, "Goto line number else file start", ++ goto_file_start, "Goto line number <n> else file start", + goto_file_end, "Goto file end", +- extend_to_file_start, "Extend to line number else file start", ++ extend_to_file_start, "Extend to line number <n> else file start", + extend_to_file_end, "Extend to file end", + goto_file, "Goto files/URLs in selections", + goto_file_hsplit, "Goto files in selections (hsplit)", diff --git a/pkgs/by-name/he/helix/package.nix b/pkgs/by-name/he/helix/package.nix index c4ba2f0f36341..890b554134c24 100644 --- a/pkgs/by-name/he/helix/package.nix +++ b/pkgs/by-name/he/helix/package.nix @@ -1,5 +1,6 @@ { fetchzip, + fetchpatch, lib, rustPlatform, mdbook, @@ -25,6 +26,17 @@ rustPlatform.buildRustPackage (final: { stripRoot = false; }; + patches = [ + # Support mdbook 0.5.x: escape HTML tags in command descriptions + ./mdbook-0.5-support.patch + ]; + + postPatch = '' + # mdbook 0.5 uses asset hashing for CSS/JS files + # Remove custom theme to use default mdbook theme with correct asset references + rm -f book/theme/index.hbs + ''; + cargoHash = "sha256-Mf0nrgMk1MlZkSyUN6mlM5lmTcrOHn3xBNzmVGtApEU="; nativeBuildInputs = [ @@ -49,7 +61,7 @@ rustPlatform.buildRustPackage (final: { mkdir -p $out/share/{applications,icons/hicolor/256x256/apps} cp contrib/Helix.desktop $out/share/applications cp contrib/helix.png $out/share/icons/hicolor/256x256/apps - cp -r book-html $doc/share/doc/$name + cp -r ../book-html $doc/share/doc/$name ''; nativeInstallCheckInputs = [ From 194ba32729aea402cd810f9b8a1e4d518f4e9040 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Thu, 18 Dec 2025 02:16:50 +0100 Subject: [PATCH 7/8] engage: fix build with mdbook 0.5 Update engage documentation build for mdbook 0.5 compatibility. Changes: - Remove deprecated 'multilingual' field from book.toml - Update git-repository-icon from 'fa-git-square' to 'fab-square-git' The 'multilingual' field was removed in mdbook 0.5 as it was never used. The FontAwesome icon name changed from 'fa-git-square' (FA 4) to 'fab-square-git' (FA 5 brand icon) in the version bundled with mdbook 0.5. --- pkgs/by-name/en/engage/mdbook-0.5-support.patch | 16 ++++++++++++++++ pkgs/by-name/en/engage/package.nix | 5 +++++ 2 files changed, 21 insertions(+) create mode 100644 pkgs/by-name/en/engage/mdbook-0.5-support.patch diff --git a/pkgs/by-name/en/engage/mdbook-0.5-support.patch b/pkgs/by-name/en/engage/mdbook-0.5-support.patch new file mode 100644 index 0000000000000..0082bf5e7a371 --- /dev/null +++ b/pkgs/by-name/en/engage/mdbook-0.5-support.patch @@ -0,0 +1,16 @@ +--- a/book.toml ++++ b/book.toml +@@ -1,6 +1,5 @@ + [book] + language = "en" +-multilingual = false + src = "book" + title = "Engage" + +@@ -8,5 +7,5 @@ build-dir = "public" + + [output.html] +-git-repository-icon = "fa-git-square" ++git-repository-icon = "fab-square-git" + git-repository-url = "https://gitlab.computer.surgery/charles/engage" + diff --git a/pkgs/by-name/en/engage/package.nix b/pkgs/by-name/en/engage/package.nix index 6ae2bde48e24d..2d57f8307c77a 100644 --- a/pkgs/by-name/en/engage/package.nix +++ b/pkgs/by-name/en/engage/package.nix @@ -28,6 +28,11 @@ rustPlatform.buildRustPackage (finalAttrs: { hash = "sha256-n7ypFJBYT712Uzh1NnWWSOIpEDKR0e6sQxbiIN6pZgo="; }; + patches = [ + # Support mdbook 0.5.x - remove deprecated multilingual field + ./mdbook-0.5-support.patch + ]; + cargoHash = "sha256-UTIxxPBtxzsZilxriAT8ksl2ovoDzIhB+8f+b2cGN3k="; nativeBuildInputs = [ From bcbe96f8a64090e9d1d0ebf7be7e1f38602a9b3d Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 22 Dec 2025 09:42:20 +0100 Subject: [PATCH 8/8] mdbook-cmdrun: 0.6.0-unstable-2024-04-15 -> 0.7.3-unstable-2025-12-22 This supports mdbook 0.5. --- pkgs/by-name/md/mdbook-cmdrun/package.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/md/mdbook-cmdrun/package.nix b/pkgs/by-name/md/mdbook-cmdrun/package.nix index a82528518412c..1d920cbcbb2e5 100644 --- a/pkgs/by-name/md/mdbook-cmdrun/package.nix +++ b/pkgs/by-name/md/mdbook-cmdrun/package.nix @@ -10,13 +10,14 @@ rustPlatform.buildRustPackage { pname = "mdbook-cmdrun"; - version = "0.6.0-unstable-2024-04-15"; + version = "0.7.3-unstable-2025-12-22"; + # mdbook 0.5 upgrade: https://github.com/FauconFan/mdbook-cmdrun/pull/23 src = fetchFromGitHub { - owner = "FauconFan"; + owner = "roberth"; repo = "mdbook-cmdrun"; - rev = "d1fef67f100563c2a433b1f5dd5a71810db6b90d"; - hash = "sha256-Q2h64XCyDxLmmCNC3wTw81pBotaMEUjY5y0Oq6q20cQ="; + rev = "3947c797d063352e0f983311c078430215cc1cca"; + hash = "sha256-0RkyMJ8tsnGcSD0ksGTGAyliH6AihVl0HEesljEmTH8="; }; nativeCheckInputs = [ @@ -26,7 +27,7 @@ rustPlatform.buildRustPackage { util-linux # used by tests/regression/shell/input.md ]; - cargoHash = "sha256-C3Rg+WXHBA7KyUDFdhBz4mOm8CFH/f7UVA8KOLs9ClE="; + cargoHash = "sha256-oUlH+z50a1FtzDADXfGKSYjauZGTok0bVMq718HLglY="; meta = { description = "mdbook preprocessor to run arbitrary commands";