From e9970300fc9c9c2e01a86e03e3538d97fbfa2f0d Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Thu, 27 Nov 2025 22:53:23 -0500 Subject: [PATCH] dim: 0-unstable-2023-12-29 -> 0-unstable-2025-09-21 Diff: https://github.com/Dusk-Labs/dim/compare/3ccb4ab05fc1d7dbd4ebbba9ff2de0ecc9139b27...d9a4bd0b7e985398ee4f494bf6da8884ab84b8ef I also regenerated the npm lockfile, which fixed some security issues (CVE-2025-7783, CVE-2025-64756, CVE-2025-66031, and others). --- pkgs/by-name/di/dim/bump-nightfall.patch | 228 +++++------------------ pkgs/by-name/di/dim/package-lock.json | 51 ++--- pkgs/by-name/di/dim/package.nix | 23 +-- pkgs/by-name/di/dim/relative-paths.diff | 6 +- 4 files changed, 81 insertions(+), 227 deletions(-) diff --git a/pkgs/by-name/di/dim/bump-nightfall.patch b/pkgs/by-name/di/dim/bump-nightfall.patch index 74649e980273..4dd3088eae4a 100644 --- a/pkgs/by-name/di/dim/bump-nightfall.patch +++ b/pkgs/by-name/di/dim/bump-nightfall.patch @@ -1,74 +1,20 @@ +From f65f27f0051f5dfa7a57d3ac0bb276828261ed73 Mon Sep 17 00:00:00 2001 +From: Michael Daniels +Date: Thu, 27 Nov 2025 22:10:13 -0500 +Subject: [PATCH] bump nightfall from 0.3.12-rc4 to 878f07edd5d2c + +--- + Cargo.lock | 27 +++++++++++++-------------- + dim-core/Cargo.toml | 2 +- + dim-web/Cargo.toml | 2 +- + dim/Cargo.toml | 2 +- + 4 files changed, 16 insertions(+), 17 deletions(-) + diff --git a/Cargo.lock b/Cargo.lock -index adb78aa..5634132 100644 +index 51898150..6cb1d29f 100644 --- a/Cargo.lock +++ b/Cargo.lock -@@ -1,6 +1,6 @@ - # This file is automatically @generated by Cargo. - # It is not intended for manual editing. --version = 3 -+version = 4 - - [[package]] - name = "addr2line" -@@ -58,7 +58,7 @@ version = "0.7.7" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" - dependencies = [ -- "getrandom", -+ "getrandom 0.2.11", - "once_cell", - "version_check", - ] -@@ -979,7 +979,7 @@ dependencies = [ - "tracing-appender", - "tracing-subscriber", - "url", -- "uuid 1.5.0", -+ "uuid 1.16.0", - "xmlwriter", - "xtra", - "zip", -@@ -1079,7 +1079,7 @@ dependencies = [ - "tracing", - "tracing-appender", - "tracing-subscriber", -- "uuid 1.5.0", -+ "uuid 1.16.0", - ] - - [[package]] -@@ -1411,6 +1411,18 @@ dependencies = [ - "wasi 0.11.0+wasi-snapshot-preview1", - ] - -+[[package]] -+name = "getrandom" -+version = "0.3.3" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" -+dependencies = [ -+ "cfg-if", -+ "libc", -+ "r-efi", -+ "wasi 0.14.2+wasi-0.2.4", -+] -+ - [[package]] - name = "ghash" - version = "0.4.4" -@@ -1874,9 +1886,9 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" - - [[package]] - name = "libc" --version = "0.2.150" -+version = "0.2.172" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" -+checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" - - [[package]] - name = "libsqlite3-sys" -@@ -2049,14 +2061,14 @@ dependencies = [ +@@ -2268,14 +2268,14 @@ dependencies = [ [[package]] name = "nightfall" version = "0.3.12-rc4" @@ -85,16 +31,16 @@ index adb78aa..5634132 100644 "ntapi", "once_cell", "psutil", -@@ -2067,7 +2079,7 @@ dependencies = [ +@@ -2286,7 +2286,7 @@ dependencies = [ "tokio", "tokio-stream", "tracing", - "uuid 0.8.2", -+ "uuid 1.16.0", ++ "uuid 1.18.1", "winapi", "xtra", "xtra_proc", -@@ -2075,27 +2087,26 @@ dependencies = [ +@@ -2294,36 +2294,35 @@ dependencies = [ [[package]] name = "nix" @@ -108,27 +54,38 @@ index adb78aa..5634132 100644 "cc", "cfg-if", "libc", -+ "memoffset 0.6.5", ++ "memoffset", ] [[package]] name = "nix" -version = "0.23.2" -+version = "0.27.1" ++version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c" -+checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" ++checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" dependencies = [ -- "bitflags 1.3.2", + "bitflags 1.3.2", - "cc", -+ "bitflags 2.4.1", "cfg-if", "libc", -- "memoffset 0.6.5", +- "memoffset", ] [[package]] -@@ -2140,9 +2151,9 @@ dependencies = [ + name = "nix" +-version = "0.24.3" ++version = "0.27.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" ++checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" + dependencies = [ +- "bitflags 1.3.2", ++ "bitflags 2.9.4", + "cfg-if", + "libc", + ] +@@ -2370,9 +2369,9 @@ dependencies = [ [[package]] name = "ntapi" @@ -140,104 +97,11 @@ index adb78aa..5634132 100644 dependencies = [ "winapi", ] -@@ -2481,6 +2492,12 @@ dependencies = [ - "proc-macro2", - ] - -+[[package]] -+name = "r-efi" -+version = "5.2.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" -+ - [[package]] - name = "rand" - version = "0.8.5" -@@ -2508,7 +2525,7 @@ version = "0.6.4" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" - dependencies = [ -- "getrandom", -+ "getrandom 0.2.11", - ] - - [[package]] -@@ -2689,7 +2706,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b" - dependencies = [ - "cc", -- "getrandom", -+ "getrandom 0.2.11", - "libc", - "spin 0.9.8", - "untrusted 0.9.0", -@@ -3505,7 +3522,7 @@ dependencies = [ - "tower-layer", - "tower-service", - "tracing", -- "uuid 1.5.0", -+ "uuid 1.16.0", - ] - - [[package]] -@@ -3742,16 +3759,16 @@ version = "0.8.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" - dependencies = [ -- "getrandom", -+ "getrandom 0.2.11", - ] - - [[package]] - name = "uuid" --version = "1.5.0" -+version = "1.16.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc" -+checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" - dependencies = [ -- "getrandom", -+ "getrandom 0.3.3", - ] - - [[package]] -@@ -3803,6 +3820,15 @@ version = "0.11.0+wasi-snapshot-preview1" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -+[[package]] -+name = "wasi" -+version = "0.14.2+wasi-0.2.4" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" -+dependencies = [ -+ "wit-bindgen-rt", -+] -+ - [[package]] - name = "wasm-bindgen" - version = "0.2.88" -@@ -4092,6 +4118,15 @@ dependencies = [ - "windows-sys 0.48.0", - ] - -+[[package]] -+name = "wit-bindgen-rt" -+version = "0.39.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" -+dependencies = [ -+ "bitflags 2.4.1", -+] -+ - [[package]] - name = "xmlwriter" - version = "0.1.0" diff --git a/dim-core/Cargo.toml b/dim-core/Cargo.toml -index b311b7c..ffc5d85 100644 +index cf30e509..fd460ff2 100644 --- a/dim-core/Cargo.toml +++ b/dim-core/Cargo.toml -@@ -11,7 +11,7 @@ vaapi = ["nightfall/vaapi"] +@@ -14,7 +14,7 @@ embed_ui = [] [dependencies] # git dependencies @@ -246,20 +110,11 @@ index b311b7c..ffc5d85 100644 "cuda", "ssa_transmux", ] } -@@ -72,7 +72,7 @@ tracing-subscriber = { version = "^0.3.10", features = [ - "json", - ] } - url = "2.2.2" --uuid = { version = "1.2.2", features = ["v4"] } -+uuid = { version = "1.6.1", features = ["v4"] } - xmlwriter = "0.1.0" - xtra = { version = "0.5.1", features = ["tokio", "with-tokio-1"] } - diff --git a/dim-web/Cargo.toml b/dim-web/Cargo.toml -index 2da5764..4c7574c 100644 +index 1dbb23ce..f3d84933 100644 --- a/dim-web/Cargo.toml +++ b/dim-web/Cargo.toml -@@ -14,7 +14,7 @@ dim-utils = { path = "../dim-utils" } +@@ -13,7 +13,7 @@ dim-utils = { path = "../dim-utils" } dim-events = { path = "../dim-events" } dim-core = { path = "../dim-core" } @@ -269,7 +124,7 @@ index 2da5764..4c7574c 100644 "ssa_transmux", ] } diff --git a/dim/Cargo.toml b/dim/Cargo.toml -index b7c8106..38518ba 100644 +index d0fa7917..ab719bce 100644 --- a/dim/Cargo.toml +++ b/dim/Cargo.toml @@ -15,7 +15,7 @@ xtra = { version = "0.5.1", features = ["tokio", "with-tokio-1"] } @@ -281,3 +136,6 @@ index b7c8106..38518ba 100644 "cuda", "ssa_transmux", ] } +-- +2.50.1 + diff --git a/pkgs/by-name/di/dim/package-lock.json b/pkgs/by-name/di/dim/package-lock.json index 2a11d5e38475..36f7dc7833f2 100644 --- a/pkgs/by-name/di/dim/package-lock.json +++ b/pkgs/by-name/di/dim/package-lock.json @@ -2591,9 +2591,9 @@ } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "license": "MIT", "dependencies": { "argparse": "^1.0.7", @@ -6495,16 +6495,16 @@ } }, "node_modules/compression": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.0.tgz", - "integrity": "sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", "license": "MIT", "dependencies": { "bytes": "3.1.2", "compressible": "~2.0.18", "debug": "2.6.9", "negotiator": "~0.6.4", - "on-headers": "~1.0.2", + "on-headers": "~1.1.0", "safe-buffer": "5.2.1", "vary": "~1.1.2" }, @@ -9021,14 +9021,15 @@ } }, "node_modules/form-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.3.tgz", - "integrity": "sha512-q5YBMeWy6E2Un0nMGWMgI65MAKtaylxfNJGJxpGh45YDciZB4epbWpaAfImil6CPAPTYB4sh0URQNDRIZG5F2w==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.4.tgz", + "integrity": "sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==", "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", "mime-types": "^2.1.35" }, "engines": { @@ -11642,9 +11643,9 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -12594,9 +12595,9 @@ "optional": true }, "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.2.tgz", + "integrity": "sha512-6xKiQ+cph9KImrRh0VsjH2d8/GXA4FIMlgU4B757iI1ApvcyA9VlouP0yZJha01V+huImO+kKMU7ih+2+E14fw==", "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { "node": ">= 6.13.0" @@ -12838,9 +12839,9 @@ } }, "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", "license": "MIT", "engines": { "node": ">= 0.8" @@ -17062,9 +17063,9 @@ } }, "node_modules/sucrase/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", @@ -17286,9 +17287,9 @@ } }, "node_modules/svgo/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "license": "MIT", "dependencies": { "argparse": "^1.0.7", diff --git a/pkgs/by-name/di/dim/package.nix b/pkgs/by-name/di/dim/package.nix index 8d0ce02783c1..f34bdb87b599 100644 --- a/pkgs/by-name/di/dim/package.nix +++ b/pkgs/by-name/di/dim/package.nix @@ -16,13 +16,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "dim"; - version = "0-unstable-2023-12-29"; + version = "0-unstable-2025-09-21"; src = fetchFromGitHub { owner = "Dusk-Labs"; repo = "dim"; - rev = "3ccb4ab05fc1d7dbd4ebbba9ff2de0ecc9139b27"; - hash = "sha256-1mgbrDnIkIdWy78uj4EjjgwBQxw/rIS1LCFNscXXPbk="; + rev = "d9a4bd0b7e985398ee4f494bf6da8884ab84b8ef"; + hash = "sha256-WktDQF2YqF/3TFnpUvz7lge8+w/W56aFjUG0v58ash4="; }; frontend = buildNpmPackage { @@ -34,7 +34,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ln -s ${./package-lock.json} package-lock.json ''; - npmDepsHash = "sha256-yYTRoxKnTF9y3RA4fuDlVYxv9d37Fc905TYVc/gPIRw="; + npmDepsHash = "sha256-fVcx5K4r5P/pokmW31IobHSYsshB7PJOHsk6BP5dA1Q="; installPhase = '' runHook preInstall @@ -46,19 +46,10 @@ rustPlatform.buildRustPackage (finalAttrs: { }; cargoPatches = [ - # Upstream uses a 'ffpath' function to look for config directory and - # (ffmpeg) binaries in the same directory as the binary. Patch it to use - # the working dir and PATH instead. - ./relative-paths.diff - # Bump the first‐party nightfall dependency to the latest Git # revision for FFmpeg >= 6 support. ./bump-nightfall.patch - # Bump the time dependency to fix build failure with rust 1.80+ - # https://github.com/Dusk-Labs/dim/pull/614 - ./bump-time.patch - # Upstream has some unused imports that prevent things from compiling... # Remove for next release. (fetchpatch { @@ -68,7 +59,7 @@ rustPlatform.buildRustPackage (finalAttrs: { }) ]; - cargoHash = "sha256-T0v7pajg3UfRnVOx3ie6rOf+vJSW2l7yoCsJrtxIwcg="; + cargoHash = "sha256-NY7iw4Xq8jEBQIeJ8rqiMmIs3Z6YwfePGulpuIP5DJ0="; postPatch = '' substituteInPlace dim-core/src/lib.rs \ @@ -83,6 +74,10 @@ rustPlatform.buildRustPackage (finalAttrs: { ln -ns $frontend ui/build ''; + preBuild = '' + export CARGO_TARGET_DIR=$(pwd)/target + ''; + nativeBuildInputs = [ makeWrapper pkg-config diff --git a/pkgs/by-name/di/dim/relative-paths.diff b/pkgs/by-name/di/dim/relative-paths.diff index e5f27c7f1715..d94c17302422 100644 --- a/pkgs/by-name/di/dim/relative-paths.diff +++ b/pkgs/by-name/di/dim/relative-paths.diff @@ -1,7 +1,7 @@ -diff --git a/dim-core/src/routes/settings.rs b/dim-core/src/routes/settings.rs +diff --git a/dim-web/src/routes/settings.rs b/dim-web/src/routes/settings.rs index f577eaf6..67da9448 100644 ---- a/dim-core/src/routes/settings.rs -+++ b/dim-core/src/routes/settings.rs +--- a/dim-web/src/routes/settings.rs ++++ b/dim-web/src/routes/settings.rs @@ -1,5 +1,3 @@ -use crate::utils::ffpath; -