diff --git a/ci/OWNERS b/ci/OWNERS index 85a03002e851..4f5f9eaa8ba2 100644 --- a/ci/OWNERS +++ b/ci/OWNERS @@ -373,8 +373,8 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt /pkgs/development/lua-modules @NixOS/lua # mpvScripts -/pkgs/applications/video/mpv/scripts @uninsane -/pkgs/applications/video/mpv/scripts.nix @uninsane +/pkgs/by-name/mp/mpv/scripts @uninsane +/pkgs/by-name/mp/mpv/scripts.nix @uninsane # Neovim /pkgs/applications/editors/neovim @NixOS/neovim diff --git a/doc/release-notes/rl-2605.section.md b/doc/release-notes/rl-2605.section.md index 2bf04db951ec..2e7efbd71690 100644 --- a/doc/release-notes/rl-2605.section.md +++ b/doc/release-notes/rl-2605.section.md @@ -99,7 +99,7 @@ ### Deprecations {#sec-nixpkgs-release-26.05-lib-deprecations} -- Create the first release note entry in this section! +- `mpv-unwrapped.scripts` and `mpv-unwrapped.wrapper` have been removed. Please use `mpvScripts` and `mpv.override` accordingly. ### Additions and Improvements {#sec-nixpkgs-release-26.05-lib-additions-improvements} diff --git a/nixos/tests/cntr.nix b/nixos/tests/cntr.nix index 87abf97ed776..f4e2d41f6c43 100644 --- a/nixos/tests/cntr.nix +++ b/nixos/tests/cntr.nix @@ -31,15 +31,14 @@ let start_all() ${backend}.wait_for_unit("${backend}-nginx.service") ${backend}.wait_for_open_port(8181) - # For some reason, the cntr command hangs when run without the &. - # As such, we have to do some messy things to ensure we check the exitcode and output in a race-condition-safe manner - ${backend}.execute( - "(cntr attach -t ${backend} nginx sh -- -c 'curl localhost | grep Hello' > /tmp/result; echo $? > /tmp/exitcode; touch /tmp/done) &" - ) - - ${backend}.wait_for_file("/tmp/done") - assert "0" == ${backend}.succeed("cat /tmp/exitcode").strip(), "non-zero exit code" - assert "Hello" in ${backend}.succeed("cat /tmp/result"), "no greeting in output" + # Test attach: uses host tools in container's network namespace + # Curl localhost to verify we're in the container's network + result = ${backend}.succeed("cntr attach -t ${backend} nginx curl -s localhost") + assert "Hello" in result, f"no greeting in output: {result}" + # Test exec: runs in container's native filesystem + # Use nginx's own binary to verify exec works + result = ${backend}.succeed("cntr exec -t ${backend} nginx -- nginx -v") + assert "nginx" in result, f"expected nginx version: {result}" ''; }; @@ -60,20 +59,23 @@ let privateNetwork = true; hostAddress = "172.16.0.1"; localAddress = "172.16.0.2"; - config = { }; + config = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.iputils ]; + }; }; }; testScript = '' machine.start() machine.wait_for_unit("container@test.service") - # I haven't observed the same hanging behaviour in this version as in the OCI version which necessetates this messy invocation, but it's probably better to be safe than sorry and use it here as well - machine.execute( - "(cntr attach test sh -- -c 'ping -c5 172.16.0.1'; echo $? > /tmp/exitcode; touch /tmp/done) &" - ) - - machine.wait_for_file("/tmp/done") - assert "0" == machine.succeed("cat /tmp/exitcode").strip(), "non-zero exit code" + # Test attach: container fs is mounted at /var/lib/cntr/ + # Writing to /var/lib/cntr/tmp/foo creates /tmp/foo in the container + machine.succeed("cntr attach test touch /var/lib/cntr/tmp/cntr-attach-test") + # Verify both that exec works and that the file from attach exists in container's /tmp + machine.succeed("cntr exec test -- test -f /tmp/cntr-attach-test") + machine.succeed("cntr exec test -- /run/current-system/sw/bin/ping -c1 172.16.0.1") ''; }; in diff --git a/nixos/tests/vaultwarden.nix b/nixos/tests/vaultwarden.nix index 0c56a47ef41d..18115d8a2259 100644 --- a/nixos/tests/vaultwarden.nix +++ b/nixos/tests/vaultwarden.nix @@ -8,6 +8,7 @@ # The same tests should work without modification on the official bitwarden server, if we ever package that. let + certs = import ./common/acme/server/snakeoil-certs.nix; makeVaultwardenTest = name: { @@ -53,7 +54,7 @@ let driver = Firefox(options=options) driver.implicitly_wait(20) - driver.get('http://localhost:8080/#/signup') + driver.get('https://localhost/#/signup') wait = WebDriverWait(driver, 10) @@ -149,6 +150,7 @@ let .${backend} { + networking.hosts."::1" = [ certs.domain ]; services.vaultwarden = { enable = true; dbBackend = backend; @@ -157,8 +159,23 @@ let rocketPort = 8080; }; }; + services.nginx = { + enable = true; + virtualHosts."${certs.domain}" = { + sslCertificate = certs.${certs.domain}.cert; + sslCertificateKey = certs.${certs.domain}.key; + enableACME = false; + forceSSL = true; + locations."/" = { + proxyPass = "http://[::1]:8080"; + }; + }; + }; - networking.firewall.allowedTCPPorts = [ 8080 ]; + networking.firewall.allowedTCPPorts = [ + 80 + 443 + ]; environment.systemPackages = [ pkgs.firefox-unwrapped @@ -170,9 +187,16 @@ let } // lib.optionalAttrs withClient { client = - { pkgs, ... }: { + nodes, + pkgs, + config, + ... + }: + { + networking.hosts."${nodes.server.networking.primaryIPAddress}" = [ certs.domain ]; environment.systemPackages = [ pkgs.bitwarden-cli ]; + security.pki.certificateFiles = [ certs.ca.cert ]; }; }; @@ -185,10 +209,10 @@ let start_all() server.wait_for_unit("vaultwarden.service") - server.wait_for_open_port(8080) + server.wait_for_open_port(443) with subtest("configure the cli"): - client.succeed("bw --nointeraction config server http://server:8080") + client.succeed("bw --nointeraction config server https://${certs.domain}") with subtest("can't login to nonexistent account"): client.fail( @@ -225,7 +249,7 @@ builtins.mapAttrs (k: v: makeVaultwardenTest k v) { testScript = '' start_all() server.wait_for_unit("vaultwarden.service") - server.wait_for_open_port(8080) + server.wait_for_open_port(443) with subtest("Set up vaultwarden"): server.succeed("PYTHONUNBUFFERED=1 test-runner | systemd-cat -t test-runner") diff --git a/pkgs/applications/emulators/libretro/cores/mame2003-plus.nix b/pkgs/applications/emulators/libretro/cores/mame2003-plus.nix index 34fc2a9407d0..f76067422cda 100644 --- a/pkgs/applications/emulators/libretro/cores/mame2003-plus.nix +++ b/pkgs/applications/emulators/libretro/cores/mame2003-plus.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "mame2003-plus"; - version = "0-unstable-2025-12-18"; + version = "0-unstable-2025-12-30"; src = fetchFromGitHub { owner = "libretro"; repo = "mame2003-plus-libretro"; - rev = "bcf5a632307ecad1a3e6b2c0377a3c8f22b461c7"; - hash = "sha256-+l5Zgn69qEnYm5m9SEQQbqqq4wNN6eRWA4M4RNuye3U="; + rev = "f6c6d9d3e436e355430f70cd4c85349259abcddb"; + hash = "sha256-skAK95mdoQc4mr5E4KXmQdhr1NMppch20Aa1yZuJGis="; }; makefile = "Makefile"; diff --git a/pkgs/applications/video/mpv/wrapper.nix b/pkgs/applications/video/mpv/wrapper.nix deleted file mode 100644 index 8fc65ae11bea..000000000000 --- a/pkgs/applications/video/mpv/wrapper.nix +++ /dev/null @@ -1,163 +0,0 @@ -# Arguments that this derivation gets when it is created with `callPackage` -{ - stdenv, - buildEnv, - lib, - makeBinaryWrapper, - mpvScripts, - symlinkJoin, - writeTextDir, - yt-dlp, -# the unwrapped mpv derivation -}: - -let - # arguments to the function (exposed as `mpv-unwrapped.wrapper` in top-level) - wrapper = - { - mpv, - extraMakeWrapperArgs ? [ ], - youtubeSupport ? true, - # a set of derivations (probably from `mpvScripts`) where each is expected - # to have a `scriptName` passthru attribute that points to the name of the - # script that would reside in the script's derivation's - # `$out/share/mpv/scripts/`. - # - # A script can optionally also provide `passthru.extraWrapperArgs` - # attribute. - scripts ? [ ], - extraUmpvWrapperArgs ? [ ], - }: - let - binPath = lib.makeBinPath ( - [ - mpv.luaEnv - ] - ++ lib.optionals mpv.vapoursynthSupport [ - mpv.vapoursynth.python3 - ] - ); - - # With some tools, we want to prioritize tools that are in PATH. For example, users may want - # to quickly expose a newer version of yt-dlp through the nix shell because it needs to be - # kept up-to-date for it to work. - fallbackBinPath = lib.makeBinPath (lib.optionals youtubeSupport [ yt-dlp ]); - - # All arguments besides the input and output binaries (${mpv}/bin/mpv and - # $out/bin/mpv). These are used by the darwin specific makeWrapper call - # used to wrap $out/Applications/mpv.app/Contents/MacOS/mpv as well. - mostMakeWrapperArgs = lib.strings.escapeShellArgs ( - [ - "--inherit-argv0" - # These are always needed (TODO: Explain why) - "--prefix" - "LUA_CPATH" - ";" - "${mpv.luaEnv}/lib/lua/${mpv.lua.luaversion}/?.so" - "--prefix" - "LUA_PATH" - ";" - "${mpv.luaEnv}/share/lua/${mpv.lua.luaversion}/?.lua" - ] - ++ lib.optionals mpv.vapoursynthSupport [ - "--prefix" - "PYTHONPATH" - ":" - "${mpv.vapoursynth}/${mpv.vapoursynth.python3.sitePackages}" - ] - ++ lib.optionals (binPath != "") [ - "--prefix" - "PATH" - ":" - binPath - ] - ++ lib.optionals (fallbackBinPath != "") [ - "--suffix" - "PATH" - ":" - fallbackBinPath - ] - ++ (lib.lists.flatten ( - map - # For every script in the `scripts` argument, add the necessary flags to the wrapper - ( - script: - let - mkScriptArgs = script: scriptName: [ - "--add-flags" - "--script=${script}/share/mpv/scripts/${scriptName}" - ]; - in - # Here we rely on the existence of the `scriptName` passthru - # attribute of the script derivation from the `scripts` - (mkScriptArgs script script.scriptName) - # scripts might need others to be explicitly loaded - ++ (map (extraScriptName: mkScriptArgs script extraScriptName) (script.extraScriptsToLoad or [ ])) - # scripts can also set the `extraWrapperArgs` passthru - ++ (script.extraWrapperArgs or [ ]) - ) - scripts - )) - ++ extraMakeWrapperArgs - ); - umpvWrapperArgs = lib.strings.escapeShellArgs ( - [ - "--inherit-argv0" - "--set" - "MPV" - "${placeholder "out"}/bin/mpv" - ] - ++ extraUmpvWrapperArgs - ); - in - symlinkJoin { - name = "mpv-with-scripts-${mpv.version}"; - - # TODO: don't link all mpv outputs and convert package to mpv-unwrapped? - paths = [ mpv.all ]; - - nativeBuildInputs = [ makeBinaryWrapper ]; - - passthru.unwrapped = mpv; - - passthru.tests.mpv-scripts-should-not-collide = buildEnv { - name = "mpv-scripts-env"; - paths = lib.pipe mpvScripts [ - # filters "override" "overrideDerivation" "recurseForDerivations" - (lib.filterAttrs (key: script: lib.isDerivation script)) - # replaces unfree and meta.broken scripts with decent placeholders - (lib.mapAttrsToList ( - key: script: - if (builtins.tryEval script.outPath).success then - script - else - writeTextDir "share/mpv/scripts/${script.scriptName}" "placeholder of ${script.name}" - )) - ]; - }; - - postBuild = '' - # wrapProgram can't operate on symlinks - rm "$out/bin/mpv" - makeWrapper "${mpv}/bin/mpv" "$out/bin/mpv" ${mostMakeWrapperArgs} - rm "$out/bin/umpv" - makeWrapper "${mpv}/bin/umpv" "$out/bin/umpv" ${umpvWrapperArgs} - '' - + lib.optionalString stdenv.hostPlatform.isDarwin '' - # wrapProgram can't operate on symlinks - rm "$out/Applications/mpv.app/Contents/MacOS/mpv" - makeWrapper "${mpv}/Applications/mpv.app/Contents/MacOS/mpv" "$out/Applications/mpv.app/Contents/MacOS/mpv" ${mostMakeWrapperArgs} - ''; - - meta = { - inherit (mpv.meta) - homepage - description - longDescription - maintainers - ; - mainProgram = "mpv"; - }; - }; -in -lib.makeOverridable wrapper diff --git a/pkgs/by-name/ag/agorakit/package.nix b/pkgs/by-name/ag/agorakit/package.nix index c5f8c722327d..6cb3ee05791b 100644 --- a/pkgs/by-name/ag/agorakit/package.nix +++ b/pkgs/by-name/ag/agorakit/package.nix @@ -27,7 +27,7 @@ php82.buildComposerProject2 (finalAttrs: { runHook postInstall ''; - vendorHash = "sha256-cg9OIBvWX69yU6U6Ag/T3jScG2OUdpTqc+KwP6VyUHo="; + vendorHash = "sha256-3Kxuvmb3eZN3ChW59b5rITgCe4NqPHIBHau1PBmxPis="; composerStrictValidation = false; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/as/ashell/package.nix b/pkgs/by-name/as/ashell/package.nix index 2d543163899b..dabb93ec9b3e 100644 --- a/pkgs/by-name/as/ashell/package.nix +++ b/pkgs/by-name/as/ashell/package.nix @@ -14,16 +14,16 @@ }: rustPlatform.buildRustPackage rec { pname = "ashell"; - version = "0.6.0"; + version = "0.7.0"; src = fetchFromGitHub { owner = "MalpenZibo"; repo = "ashell"; tag = version; - hash = "sha256-1PqK+jq0ZioTluwQtEp8rpB/ZNsrvQhLgJiyIM9PQ0k="; + hash = "sha256-nQrBW2pfsExHERGZzJqMG7MskzsJ3zwVyoX6wJZBils="; }; - cargoHash = "sha256-L8RxsDxL8oyR3kz+F/NckGikfNLg+Pa1DI2nFgHL5VM="; + cargoHash = "sha256-F8oh8uQFthx5gex/ovKADO+ukqzIbmlBM5+shej/OTA="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/ci/cifs-utils/package.nix b/pkgs/by-name/ci/cifs-utils/package.nix index 27fa81073e87..f6f1434e7f7f 100644 --- a/pkgs/by-name/ci/cifs-utils/package.nix +++ b/pkgs/by-name/ci/cifs-utils/package.nix @@ -16,11 +16,11 @@ stdenv.mkDerivation rec { pname = "cifs-utils"; - version = "7.4"; + version = "7.5"; src = fetchurl { url = "https://download.samba.org/pub/linux-cifs/cifs-utils/${pname}-${version}.tar.bz2"; - sha256 = "sha256-UzU9BcMLT8nawAao8MUFTN2KGDTBdjE8keRpQCXEuJE="; + sha256 = "sha256-f6zoXj0tXrXnrb0YGt7mdZCX8TWxDW+zC+jgcK9+cFQ="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/cn/cntr/package.nix b/pkgs/by-name/cn/cntr/package.nix index a42527120587..041b0dd2098b 100644 --- a/pkgs/by-name/cn/cntr/package.nix +++ b/pkgs/by-name/cn/cntr/package.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "cntr"; - version = "1.6.1"; + version = "2.0.0"; src = fetchFromGitHub { owner = "Mic92"; repo = "cntr"; rev = version; - sha256 = "sha256-2tqPxbi8sKoEPq0/zQFsOrStEmQGlU8s81ohTfKeOmE="; + sha256 = "sha256-4HBOUx9086nn3hRBLA4zuH0Dq+qDZHgo3DivmiEMh3w="; }; - cargoHash = "sha256-gWQ8seCuUSHuZUoNH9pnBTlzF9S0tHVLStnAiymLLbs="; + cargoHash = "sha256-FBlKxQcQRkz5dYInot2WtZfUSAaX+7qlin+cLf3h8f4="; passthru.tests = nixosTests.cntr; diff --git a/pkgs/by-name/de/deltachat-desktop/package.nix b/pkgs/by-name/de/deltachat-desktop/package.nix index bc205240938c..6b9219bd4413 100644 --- a/pkgs/by-name/de/deltachat-desktop/package.nix +++ b/pkgs/by-name/de/deltachat-desktop/package.nix @@ -1,9 +1,8 @@ { lib, copyDesktopItems, - electron_37, + electron_39, fetchFromGitHub, - fetchpatch, deltachat-rpc-server, makeDesktopItem, makeWrapper, @@ -22,46 +21,37 @@ let deltachat-rpc-server' = deltachat-rpc-server.overrideAttrs rec { - version = "2.33.0"; + version = "2.35.0"; src = fetchFromGitHub { owner = "chatmail"; repo = "core"; tag = "v${version}"; - hash = "sha256-4cnYTtm5bQ86BgMOOH5d881ahjuFFOxVuGffRp3Nbw4="; + hash = "sha256-tcH9F+FKXfFozk6PcbEE37HFIojhDR672bfcPXfKnCs="; }; cargoDeps = rustPlatform.fetchCargoVendor { pname = "chatmail-core"; inherit version src; - hash = "sha256-TOGSvvFKsWshfMqGNEOtjhHcpTJ0FAiK6RigmlT4AFA="; + hash = "sha256-p1E7K1EiEftpNSyE41LpMYmkZwjeasZzrXbYxKK/IgI="; }; }; - electron = electron_37; + electron = electron_39; in stdenv.mkDerivation (finalAttrs: { pname = "deltachat-desktop"; - version = "2.33.0"; + version = "2.35.0"; src = fetchFromGitHub { owner = "deltachat"; repo = "deltachat-desktop"; tag = "v${finalAttrs.version}"; - hash = "sha256-PA2Faq1AmFxxizN1+NDYRB3uFI2bXdGshtyfHwY2btM="; + hash = "sha256-TAuluFfJnaTdgWHtA+Oif7RYneiE+16onjqjgo4QI/8="; }; - patches = [ - # https://github.com/deltachat/deltachat-desktop/pull/5854 - (fetchpatch { - name = "dont-load-env-file-in-production.patch"; - url = "https://github.com/deltachat/deltachat-desktop/commit/e0eca1672b2f0c951b96c1e921219d2a4a4dbcb0.patch"; - hash = "sha256-/Dc8VjdF10qJOrEa0dJeBib+R+8kb5yD4/iKt9/VnBA="; - }) - ]; - pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; pnpm = pnpm_9; fetcherVersion = 2; - hash = "sha256-4BAcCzPZbCjUfHTnJ98TzcfI5UnfMmGdbdvCFaQNNsk="; + hash = "sha256-9J7UJbIm9V12nWQvelgIhezVMg1yGPFFB3DXlzB/DFc="; }; nativeBuildInputs = [ @@ -144,6 +134,7 @@ stdenv.mkDerivation (finalAttrs: { ]; startupWMClass = "DeltaChat"; mimeTypes = [ + "application/x-webxdc" "x-scheme-handler/openpgp4fpr" "x-scheme-handler/dcaccount" "x-scheme-handler/dclogin" diff --git a/pkgs/by-name/ev/evtx/package.nix b/pkgs/by-name/ev/evtx/package.nix index bf6e6ec9f987..321386f96930 100644 --- a/pkgs/by-name/ev/evtx/package.nix +++ b/pkgs/by-name/ev/evtx/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage rec { pname = "evtx"; - version = "0.9.0"; + version = "0.10.0"; src = fetchFromGitHub { owner = "omerbenamram"; repo = "evtx"; tag = "v${version}"; - hash = "sha256-fgOuhNE77zVjL16oiUifnKZ+X4CQnZuD8tY+h0JTOYU="; + hash = "sha256-v57lo1ggElGJD618ojuADspmhlZAMgmzD5DxEdtp2Ak="; }; - cargoHash = "sha256-E9BoqpnKhVNwOiEvZROF3xj9Ge8r2CNaBiwHdkdV5aw="; + cargoHash = "sha256-qjlN10YS79S0JV2MPFB9SxPDUQnoVdqVf8kYpLt4w9g="; postPatch = '' # CLI tests will fail in the sandbox diff --git a/pkgs/by-name/ic/icestudio/package.nix b/pkgs/by-name/ic/icestudio/package.nix index 7f0c08d971a9..5394a078f55b 100644 --- a/pkgs/by-name/ic/icestudio/package.nix +++ b/pkgs/by-name/ic/icestudio/package.nix @@ -13,13 +13,13 @@ let # Use unstable because it has improvements for finding python - version = "0.12-unstable-2025-12-06"; + version = "0.12-unstable-2025-12-27"; src = fetchFromGitHub { owner = "FPGAwars"; repo = "icestudio"; - rev = "dcabb1fa0003763a00f81c7a566672bcfc095cc6"; - hash = "sha256-SBsQTQiZICgmVW0YaptNHzClqed4kIE66F737IntGag="; + rev = "fbc1e0378be4911289e3ba32db4b303e40acf954"; + hash = "sha256-ddMo+XdDbikWO3m+VsaYgQC8dtR7j4FjiDtDisptN78="; }; collection = fetchurl { diff --git a/pkgs/by-name/in/incus-ui-canonical/package.nix b/pkgs/by-name/in/incus-ui-canonical/package.nix index 80d225041472..45d18b3dff1d 100644 --- a/pkgs/by-name/in/incus-ui-canonical/package.nix +++ b/pkgs/by-name/in/incus-ui-canonical/package.nix @@ -20,19 +20,19 @@ let in stdenv.mkDerivation rec { pname = "incus-ui-canonical"; - version = "0.18.4"; + version = "0.19.0"; src = fetchFromGitHub { owner = "zabbly"; repo = "incus-ui-canonical"; # only use tags prefixed by incus- they are the tested fork versions tag = "incus-${version}"; - hash = "sha256-IzXmW5MZZgHXnTGs85TQYvLETsamBxuBAgBUST4Q5m0="; + hash = "sha256-d9L/6GtSBqa/H+KgK0iheNvS2BFazNWKGA94Lv99kr8="; }; offlineCache = fetchYarnDeps { yarnLock = "${src}/yarn.lock"; - hash = "sha256-eiK6dyvRbttxC7rESgpYRsYkkrzLZq4RWOiUf7fsAk8="; + hash = "sha256-08G3jYj7N9h6aBnqwGQQtpYOP/wP/k2VRY7dgmpxXZw="; }; patchPhase = '' diff --git a/pkgs/by-name/jx/jx/package.nix b/pkgs/by-name/jx/jx/package.nix index 2a02553e5121..309efa0b2069 100644 --- a/pkgs/by-name/jx/jx/package.nix +++ b/pkgs/by-name/jx/jx/package.nix @@ -9,13 +9,13 @@ buildGoModule rec { pname = "jx"; - version = "3.16.37"; + version = "3.16.43"; src = fetchFromGitHub { owner = "jenkins-x"; repo = "jx"; rev = "v${version}"; - sha256 = "sha256-mHsQ1zR/f+u3mUp3QFwdoSJ1mLkCxwt12g7rX3siRiM="; + sha256 = "sha256-K5NDyhO41PrawSIhLyfoW33IMFOTAiMOyslHPRb5ttg="; }; vendorHash = "sha256-1ErjD+1MdbKN4EPaQX0jxNzoN9dB8beH1csdx1IPKl8="; diff --git a/pkgs/by-name/lr/lrzsz/package.nix b/pkgs/by-name/lr/lrzsz/package.nix index fe1350ad1a5e..4b65642e2534 100644 --- a/pkgs/by-name/lr/lrzsz/package.nix +++ b/pkgs/by-name/lr/lrzsz/package.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--program-transform-name=s/^l//" ]; - env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration -Wno-error=implicit-int -Wno-error=incompatible-pointer-types"; + env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration -Wno-error=implicit-int -Wno-error=incompatible-pointer-types -std=gnu17"; meta = { homepage = "https://ohse.de/uwe/software/lrzsz.html"; diff --git a/pkgs/by-name/ma/matrix-continuwuity/package.nix b/pkgs/by-name/ma/matrix-continuwuity/package.nix index b22e8f393da6..6cfd44a79041 100644 --- a/pkgs/by-name/ma/matrix-continuwuity/package.nix +++ b/pkgs/by-name/ma/matrix-continuwuity/package.nix @@ -77,17 +77,17 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "matrix-continuwuity"; - version = "0.5.0"; + version = "0.5.1"; src = fetchFromGitea { domain = "forgejo.ellis.link"; owner = "continuwuation"; repo = "continuwuity"; tag = "v${finalAttrs.version}"; - hash = "sha256-k+B7OjOoVd/vcy/jKBEXAXOolnWt4RoPhJucMwYxyEk="; + hash = "sha256-g2KidOlYvJgGsiX2qq9pmJjLmzVgbJHv8VaulYIiKKo="; }; - cargoHash = "sha256-xqP2wOaGJEcn/ZF8u1Ol6j7zyr/3dLHKU6eYQfIBr7o="; + cargoHash = "sha256-nOawYriRWw6O890J6V/InKlijCO6CqwvIuOOTjorJns="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/mc/mcpp/package.nix b/pkgs/by-name/mc/mcpp/package.nix index 5141f375d4e7..a7f1028cd5af 100644 --- a/pkgs/by-name/mc/mcpp/package.nix +++ b/pkgs/by-name/mc/mcpp/package.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "mcpp"; - version = "2.7.2.2"; + version = "2.7.2.3"; src = fetchFromGitHub { owner = "museoa"; repo = "mcpp"; rev = finalAttrs.version; - hash = "sha256-wz225bhBF0lFerOAhl8Rwmw8ItHd9BXQceweD9BqvEQ="; + hash = "sha256-g+dqyC9Aik9vxqmixRKzV5GCLiw2tk8mJDHJ/HyiHKw="; }; env = lib.optionalAttrs stdenv.cc.isGNU { diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/by-name/mp/mpv-unwrapped/package.nix similarity index 96% rename from pkgs/applications/video/mpv/default.nix rename to pkgs/by-name/mp/mpv-unwrapped/package.nix index 0a1694877590..52a21ac4a12e 100644 --- a/pkgs/applications/video/mpv/default.nix +++ b/pkgs/by-name/mp/mpv-unwrapped/package.nix @@ -5,11 +5,9 @@ alsa-lib, bash, buildPackages, - callPackage, config, docutils, fetchFromGitHub, - fetchpatch, ffmpeg, freefont_ttf, freetype, @@ -301,8 +299,9 @@ stdenv.mkDerivation (finalAttrs: { vapoursynth ; - wrapper = callPackage ./wrapper.nix { }; - scripts = callPackage ./scripts.nix { }; + # Should be removed in the future. These can't be added to `pkgs/top-level/aliases.nix`. + scripts = throw "'mpv-unwrapped.scripts' has been removed. Please use 'mpvScripts' instead."; # Added 2025-12-29 + wrapper = throw "'mpv-unwrapped.wrapper' has been removed. Please use 'mpv.override' instead."; # Added 2025-12-29 tests = { inherit (nixosTests) mpv; diff --git a/pkgs/by-name/mp/mpv/package.nix b/pkgs/by-name/mp/mpv/package.nix new file mode 100644 index 000000000000..fcd9accab107 --- /dev/null +++ b/pkgs/by-name/mp/mpv/package.nix @@ -0,0 +1,154 @@ +{ + stdenv, + buildEnv, + lib, + makeBinaryWrapper, + mpvScripts, + mpv-unwrapped, + symlinkJoin, + writeTextDir, + yt-dlp, + extraMakeWrapperArgs ? [ ], + youtubeSupport ? true, + # a set of derivations (probably from `mpvScripts`) where each is expected + # to have a `scriptName` passthru attribute that points to the name of the + # script that would reside in the script's derivation's + # `$out/share/mpv/scripts/`. + # + # A script can optionally also provide `passthru.extraWrapperArgs` + # attribute. + scripts ? [ ], + extraUmpvWrapperArgs ? [ ], +}: + +let + binPath = lib.makeBinPath ( + [ + mpv-unwrapped.luaEnv + ] + ++ lib.optionals mpv-unwrapped.vapoursynthSupport [ + mpv-unwrapped.vapoursynth.python3 + ] + ); + + # With some tools, we want to prioritize tools that are in PATH. For example, users may want + # to quickly expose a newer version of yt-dlp through the nix shell because it needs to be + # kept up-to-date for it to work. + fallbackBinPath = lib.makeBinPath (lib.optionals youtubeSupport [ yt-dlp ]); + + # All arguments besides the input and output binaries (${mpv-unwrapped}/bin/mpv and + # $out/bin/mpv). These are used by the darwin specific makeWrapper call + # used to wrap $out/Applications/mpv.app/Contents/MacOS/mpv as well. + mostMakeWrapperArgs = lib.strings.escapeShellArgs ( + [ + "--inherit-argv0" + # These are always needed (TODO: Explain why) + "--prefix" + "LUA_CPATH" + ";" + "${mpv-unwrapped.luaEnv}/lib/lua/${mpv-unwrapped.lua.luaversion}/?.so" + "--prefix" + "LUA_PATH" + ";" + "${mpv-unwrapped.luaEnv}/share/lua/${mpv-unwrapped.lua.luaversion}/?.lua" + ] + ++ lib.optionals mpv-unwrapped.vapoursynthSupport [ + "--prefix" + "PYTHONPATH" + ":" + "${mpv-unwrapped.vapoursynth}/${mpv-unwrapped.vapoursynth.python3.sitePackages}" + ] + ++ lib.optionals (binPath != "") [ + "--prefix" + "PATH" + ":" + binPath + ] + ++ lib.optionals (fallbackBinPath != "") [ + "--suffix" + "PATH" + ":" + fallbackBinPath + ] + ++ (lib.lists.flatten ( + map + # For every script in the `scripts` argument, add the necessary flags to the wrapper + ( + script: + let + mkScriptArgs = script: scriptName: [ + "--add-flags" + "--script=${script}/share/mpv/scripts/${scriptName}" + ]; + in + # Here we rely on the existence of the `scriptName` passthru + # attribute of the script derivation from the `scripts` + (mkScriptArgs script script.scriptName) + # scripts might need others to be explicitly loaded + ++ (map (extraScriptName: mkScriptArgs script extraScriptName) (script.extraScriptsToLoad or [ ])) + # scripts can also set the `extraWrapperArgs` passthru + ++ (script.extraWrapperArgs or [ ]) + ) + scripts + )) + ++ extraMakeWrapperArgs + ); + umpvWrapperArgs = lib.strings.escapeShellArgs ( + [ + "--inherit-argv0" + "--set" + "MPV" + "${placeholder "out"}/bin/mpv" + ] + ++ extraUmpvWrapperArgs + ); +in +symlinkJoin { + name = "mpv-with-scripts-${mpv-unwrapped.version}"; + + # TODO: don't link all mpv outputs + paths = [ mpv-unwrapped.all ]; + + nativeBuildInputs = [ makeBinaryWrapper ]; + + passthru.unwrapped = mpv-unwrapped; + + passthru.tests.mpv-scripts-should-not-collide = buildEnv { + name = "mpv-scripts-env"; + paths = lib.pipe mpvScripts [ + # filters "override" "overrideDerivation" "recurseForDerivations" + (lib.filterAttrs (key: script: lib.isDerivation script)) + # replaces unfree and meta.broken scripts with decent placeholders + (lib.mapAttrsToList ( + key: script: + if (builtins.tryEval script.outPath).success then + script + else + writeTextDir "share/mpv/scripts/${script.scriptName}" "placeholder of ${script.name}" + )) + ]; + }; + + postBuild = '' + # wrapProgram can't operate on symlinks + rm "$out/bin/mpv" + makeWrapper "${mpv-unwrapped}/bin/mpv" "$out/bin/mpv" ${mostMakeWrapperArgs} + rm "$out/bin/umpv" + makeWrapper "${mpv-unwrapped}/bin/umpv" "$out/bin/umpv" ${umpvWrapperArgs} + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # wrapProgram can't operate on symlinks + rm "$out/Applications/mpv.app/Contents/MacOS/mpv" + makeWrapper "${mpv-unwrapped}/Applications/mpv.app/Contents/MacOS/mpv" "$out/Applications/mpv.app/Contents/MacOS/mpv" ${mostMakeWrapperArgs} + ''; + + meta = { + inherit (mpv-unwrapped.meta) + homepage + description + longDescription + maintainers + ; + mainProgram = "mpv"; + }; +} diff --git a/pkgs/applications/video/mpv/scripts.nix b/pkgs/by-name/mp/mpv/scripts.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts.nix rename to pkgs/by-name/mp/mpv/scripts.nix diff --git a/pkgs/applications/video/mpv/scripts/autosub.nix b/pkgs/by-name/mp/mpv/scripts/autosub.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/autosub.nix rename to pkgs/by-name/mp/mpv/scripts/autosub.nix diff --git a/pkgs/applications/video/mpv/scripts/autosubsync-mpv.nix b/pkgs/by-name/mp/mpv/scripts/autosubsync-mpv.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/autosubsync-mpv.nix rename to pkgs/by-name/mp/mpv/scripts/autosubsync-mpv.nix diff --git a/pkgs/applications/video/mpv/scripts/bdanmaku.nix b/pkgs/by-name/mp/mpv/scripts/bdanmaku.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/bdanmaku.nix rename to pkgs/by-name/mp/mpv/scripts/bdanmaku.nix diff --git a/pkgs/applications/video/mpv/scripts/buildLua.nix b/pkgs/by-name/mp/mpv/scripts/buildLua.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/buildLua.nix rename to pkgs/by-name/mp/mpv/scripts/buildLua.nix diff --git a/pkgs/applications/video/mpv/scripts/builtins.nix b/pkgs/by-name/mp/mpv/scripts/builtins.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/builtins.nix rename to pkgs/by-name/mp/mpv/scripts/builtins.nix diff --git a/pkgs/applications/video/mpv/scripts/chapterskip.nix b/pkgs/by-name/mp/mpv/scripts/chapterskip.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/chapterskip.nix rename to pkgs/by-name/mp/mpv/scripts/chapterskip.nix diff --git a/pkgs/applications/video/mpv/scripts/convert.nix b/pkgs/by-name/mp/mpv/scripts/convert.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/convert.nix rename to pkgs/by-name/mp/mpv/scripts/convert.nix diff --git a/pkgs/applications/video/mpv/scripts/convert.patch b/pkgs/by-name/mp/mpv/scripts/convert.patch similarity index 100% rename from pkgs/applications/video/mpv/scripts/convert.patch rename to pkgs/by-name/mp/mpv/scripts/convert.patch diff --git a/pkgs/applications/video/mpv/scripts/cutter.nix b/pkgs/by-name/mp/mpv/scripts/cutter.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/cutter.nix rename to pkgs/by-name/mp/mpv/scripts/cutter.nix diff --git a/pkgs/applications/video/mpv/scripts/dynamic-crop.nix b/pkgs/by-name/mp/mpv/scripts/dynamic-crop.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/dynamic-crop.nix rename to pkgs/by-name/mp/mpv/scripts/dynamic-crop.nix diff --git a/pkgs/applications/video/mpv/scripts/easycrop.nix b/pkgs/by-name/mp/mpv/scripts/easycrop.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/easycrop.nix rename to pkgs/by-name/mp/mpv/scripts/easycrop.nix diff --git a/pkgs/applications/video/mpv/scripts/eisa01.nix b/pkgs/by-name/mp/mpv/scripts/eisa01.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/eisa01.nix rename to pkgs/by-name/mp/mpv/scripts/eisa01.nix diff --git a/pkgs/applications/video/mpv/scripts/evafast.nix b/pkgs/by-name/mp/mpv/scripts/evafast.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/evafast.nix rename to pkgs/by-name/mp/mpv/scripts/evafast.nix diff --git a/pkgs/applications/video/mpv/scripts/inhibit-gnome.nix b/pkgs/by-name/mp/mpv/scripts/inhibit-gnome.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/inhibit-gnome.nix rename to pkgs/by-name/mp/mpv/scripts/inhibit-gnome.nix diff --git a/pkgs/applications/video/mpv/scripts/manga-reader.nix b/pkgs/by-name/mp/mpv/scripts/manga-reader.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/manga-reader.nix rename to pkgs/by-name/mp/mpv/scripts/manga-reader.nix diff --git a/pkgs/applications/video/mpv/scripts/memo.nix b/pkgs/by-name/mp/mpv/scripts/memo.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/memo.nix rename to pkgs/by-name/mp/mpv/scripts/memo.nix diff --git a/pkgs/applications/video/mpv/scripts/modernx-zydezu.nix b/pkgs/by-name/mp/mpv/scripts/modernx-zydezu.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/modernx-zydezu.nix rename to pkgs/by-name/mp/mpv/scripts/modernx-zydezu.nix diff --git a/pkgs/applications/video/mpv/scripts/modernx.nix b/pkgs/by-name/mp/mpv/scripts/modernx.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/modernx.nix rename to pkgs/by-name/mp/mpv/scripts/modernx.nix diff --git a/pkgs/applications/video/mpv/scripts/modernz.nix b/pkgs/by-name/mp/mpv/scripts/modernz.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/modernz.nix rename to pkgs/by-name/mp/mpv/scripts/modernz.nix diff --git a/pkgs/applications/video/mpv/scripts/mpris.nix b/pkgs/by-name/mp/mpv/scripts/mpris.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpris.nix rename to pkgs/by-name/mp/mpv/scripts/mpris.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-cheatsheet.nix b/pkgs/by-name/mp/mpv/scripts/mpv-cheatsheet.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-cheatsheet.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-cheatsheet.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-discord.nix b/pkgs/by-name/mp/mpv/scripts/mpv-discord.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-discord.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-discord.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-gallery-view.nix b/pkgs/by-name/mp/mpv/scripts/mpv-gallery-view.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-gallery-view.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-gallery-view.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-image-viewer.nix b/pkgs/by-name/mp/mpv/scripts/mpv-image-viewer.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-image-viewer.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-image-viewer.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-notify-send.nix b/pkgs/by-name/mp/mpv/scripts/mpv-notify-send.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-notify-send.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-notify-send.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-osc-modern.nix b/pkgs/by-name/mp/mpv/scripts/mpv-osc-modern.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-osc-modern.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-osc-modern.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-osc-tethys.nix b/pkgs/by-name/mp/mpv/scripts/mpv-osc-tethys.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-osc-tethys.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-osc-tethys.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix b/pkgs/by-name/mp/mpv/scripts/mpv-playlistmanager.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-playlistmanager.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-slicing.nix b/pkgs/by-name/mp/mpv/scripts/mpv-slicing.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-slicing.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-slicing.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-subtitle-lines.nix b/pkgs/by-name/mp/mpv/scripts/mpv-subtitle-lines.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-subtitle-lines.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-subtitle-lines.nix diff --git a/pkgs/applications/video/mpv/scripts/mpv-webm.nix b/pkgs/by-name/mp/mpv/scripts/mpv-webm.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpv-webm.nix rename to pkgs/by-name/mp/mpv/scripts/mpv-webm.nix diff --git a/pkgs/applications/video/mpv/scripts/mpvacious.nix b/pkgs/by-name/mp/mpv/scripts/mpvacious.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/mpvacious.nix rename to pkgs/by-name/mp/mpv/scripts/mpvacious.nix diff --git a/pkgs/applications/video/mpv/scripts/occivink.nix b/pkgs/by-name/mp/mpv/scripts/occivink.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/occivink.nix rename to pkgs/by-name/mp/mpv/scripts/occivink.nix diff --git a/pkgs/applications/video/mpv/scripts/quack.nix b/pkgs/by-name/mp/mpv/scripts/quack.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/quack.nix rename to pkgs/by-name/mp/mpv/scripts/quack.nix diff --git a/pkgs/applications/video/mpv/scripts/quality-menu.nix b/pkgs/by-name/mp/mpv/scripts/quality-menu.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/quality-menu.nix rename to pkgs/by-name/mp/mpv/scripts/quality-menu.nix diff --git a/pkgs/applications/video/mpv/scripts/reload.nix b/pkgs/by-name/mp/mpv/scripts/reload.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/reload.nix rename to pkgs/by-name/mp/mpv/scripts/reload.nix diff --git a/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix b/pkgs/by-name/mp/mpv/scripts/simple-mpv-webui.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix rename to pkgs/by-name/mp/mpv/scripts/simple-mpv-webui.nix diff --git a/pkgs/applications/video/mpv/scripts/skipsilence.nix b/pkgs/by-name/mp/mpv/scripts/skipsilence.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/skipsilence.nix rename to pkgs/by-name/mp/mpv/scripts/skipsilence.nix diff --git a/pkgs/applications/video/mpv/scripts/sponsorblock-minimal.nix b/pkgs/by-name/mp/mpv/scripts/sponsorblock-minimal.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/sponsorblock-minimal.nix rename to pkgs/by-name/mp/mpv/scripts/sponsorblock-minimal.nix diff --git a/pkgs/applications/video/mpv/scripts/sponsorblock.nix b/pkgs/by-name/mp/mpv/scripts/sponsorblock.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/sponsorblock.nix rename to pkgs/by-name/mp/mpv/scripts/sponsorblock.nix diff --git a/pkgs/applications/video/mpv/scripts/thumbfast.nix b/pkgs/by-name/mp/mpv/scripts/thumbfast.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/thumbfast.nix rename to pkgs/by-name/mp/mpv/scripts/thumbfast.nix diff --git a/pkgs/applications/video/mpv/scripts/thumbnail.nix b/pkgs/by-name/mp/mpv/scripts/thumbnail.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/thumbnail.nix rename to pkgs/by-name/mp/mpv/scripts/thumbnail.nix diff --git a/pkgs/applications/video/mpv/scripts/twitch-chat.nix b/pkgs/by-name/mp/mpv/scripts/twitch-chat.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/twitch-chat.nix rename to pkgs/by-name/mp/mpv/scripts/twitch-chat.nix diff --git a/pkgs/applications/video/mpv/scripts/uosc.nix b/pkgs/by-name/mp/mpv/scripts/uosc.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/uosc.nix rename to pkgs/by-name/mp/mpv/scripts/uosc.nix diff --git a/pkgs/applications/video/mpv/scripts/videoclip.nix b/pkgs/by-name/mp/mpv/scripts/videoclip.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/videoclip.nix rename to pkgs/by-name/mp/mpv/scripts/videoclip.nix diff --git a/pkgs/applications/video/mpv/scripts/visualizer.nix b/pkgs/by-name/mp/mpv/scripts/visualizer.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/visualizer.nix rename to pkgs/by-name/mp/mpv/scripts/visualizer.nix diff --git a/pkgs/applications/video/mpv/scripts/vr-reversal.nix b/pkgs/by-name/mp/mpv/scripts/vr-reversal.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/vr-reversal.nix rename to pkgs/by-name/mp/mpv/scripts/vr-reversal.nix diff --git a/pkgs/applications/video/mpv/scripts/webtorrent-mpv-hook.nix b/pkgs/by-name/mp/mpv/scripts/webtorrent-mpv-hook.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/webtorrent-mpv-hook.nix rename to pkgs/by-name/mp/mpv/scripts/webtorrent-mpv-hook.nix diff --git a/pkgs/applications/video/mpv/scripts/youtube-chat.nix b/pkgs/by-name/mp/mpv/scripts/youtube-chat.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/youtube-chat.nix rename to pkgs/by-name/mp/mpv/scripts/youtube-chat.nix diff --git a/pkgs/applications/video/mpv/scripts/youtube-upnext.nix b/pkgs/by-name/mp/mpv/scripts/youtube-upnext.nix similarity index 100% rename from pkgs/applications/video/mpv/scripts/youtube-upnext.nix rename to pkgs/by-name/mp/mpv/scripts/youtube-upnext.nix diff --git a/pkgs/by-name/nc/ncps/package.nix b/pkgs/by-name/nc/ncps/package.nix index 32f0c134cfb0..bcb76f454105 100644 --- a/pkgs/by-name/nc/ncps/package.nix +++ b/pkgs/by-name/nc/ncps/package.nix @@ -10,6 +10,94 @@ }: let + + # Start MinIO before running tests to enable S3 integration tests + minioPreCheck = '' + echo "🚀 Starting MinIO for S3 integration tests..." + + # Create temporary directories for MinIO data and config + export MINIO_DATA_DIR=$(mktemp -d) + export HOME=$(mktemp -d) + + # Configure MinIO credentials (must be set before starting MinIO) + export MINIO_ROOT_USER=admin + export MINIO_ROOT_PASSWORD=password + export MINIO_REGION=us-east-1 + + # Generate random free ports using python + # We bind to port 0, get the assigned port, and close the socket immediately. + # In a Nix sandbox, the race condition risk (port being stolen between check and use) is negligible. + export MINIO_PORT=$(python3 -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()') + export CONSOLE_PORT=$(python3 -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()') + + # Export S3 test environment variables + export NCPS_TEST_S3_BUCKET="test-bucket" + export NCPS_TEST_S3_ENDPOINT="http://127.0.0.1:$MINIO_PORT" + export NCPS_TEST_S3_REGION="us-east-1" + export NCPS_TEST_S3_ACCESS_KEY_ID="test-access-key" + export NCPS_TEST_S3_SECRET_ACCESS_KEY="test-secret-key" + + # Start MinIO server in background + minio server "$MINIO_DATA_DIR" \ + --address "127.0.0.1:$MINIO_PORT" \ + --console-address "127.0.0.1:$CONSOLE_PORT" & + export MINIO_PID=$! + + # Wait for MinIO to be ready + echo "⏳ Waiting for MinIO to be ready..." + for i in {1..30}; do + if curl -sf "$NCPS_TEST_S3_ENDPOINT/minio/health/live"; then + echo "✅ MinIO is ready" + break + fi + if [ $i -eq 30 ]; then + echo "❌ MinIO failed to start" + kill $MINIO_PID 2>/dev/null || true + exit 1 + fi + sleep 1 + done + + # Setup admin alias + mc alias set local "$NCPS_TEST_S3_ENDPOINT" "$MINIO_ROOT_USER" "$MINIO_ROOT_PASSWORD" + + # Create test bucket + mc mb "local/$NCPS_TEST_S3_BUCKET" || true + + # Create service account for tests + mc admin user svcacct add \ + --access-key "$NCPS_TEST_S3_ACCESS_KEY_ID" \ + --secret-key "$NCPS_TEST_S3_SECRET_ACCESS_KEY" \ + local admin || true + + echo "✅ MinIO configured for S3 integration tests" + ''; + + # Stop MinIO after tests complete + minioPostCheck = '' + echo "🛑 Stopping MinIO..." + if [ -n "$MINIO_PID" ]; then + kill $MINIO_PID 2>/dev/null || true + # Wait for MinIO to fully shut down + for i in {1..30}; do + if ! kill -0 $MINIO_PID 2>/dev/null; then + break + fi + sleep 0.5 + done + + # If it's still alive, force kill it + if kill -0 $MINIO_PID 2>/dev/null; then + echo "MinIO did not shut down gracefully, force killing..." + kill -9 $MINIO_PID 2>/dev/null || true + sleep 1 # Give a moment for the OS to clean up after SIGKILL + fi + fi + sleep 1 + rm -rf "$MINIO_DATA_DIR" 2>/dev/null || true + echo "✅ MinIO stopped and cleaned up" + ''; + finalAttrs = { pname = "ncps"; version = "0.5.1"; @@ -38,74 +126,15 @@ let python3 # used for generating the ports ]; - # Start MinIO before running tests to enable S3 integration tests + # pre and post checks preCheck = '' - echo "🚀 Starting MinIO for S3 integration tests..." + # Set up cleanup trap to ensure background processes are killed even if tests fail + cleanup() { + ${minioPostCheck} + } + trap cleanup EXIT - # Create temporary directories for MinIO data and config - export MINIO_DATA_DIR=$(mktemp -d) - export HOME=$(mktemp -d) - - # Configure MinIO credentials (must be set before starting MinIO) - export MINIO_ROOT_USER=admin - export MINIO_ROOT_PASSWORD=password - export MINIO_REGION=us-east-1 - - # Generate random free ports using python - # We bind to port 0, get the assigned port, and close the socket immediately. - # In a Nix sandbox, the race condition risk (port being stolen between check and use) is negligible. - export MINIO_PORT=$(python3 -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()') - export CONSOLE_PORT=$(python3 -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()') - - # Export S3 test environment variables - export NCPS_TEST_S3_BUCKET="test-bucket" - export NCPS_TEST_S3_ENDPOINT="http://127.0.0.1:$MINIO_PORT" - export NCPS_TEST_S3_REGION="us-east-1" - export NCPS_TEST_S3_ACCESS_KEY_ID="test-access-key" - export NCPS_TEST_S3_SECRET_ACCESS_KEY="test-secret-key" - - # Start MinIO server in background - minio server "$MINIO_DATA_DIR" \ - --address "127.0.0.1:$MINIO_PORT" \ - --console-address "127.0.0.1:$CONSOLE_PORT" & - export MINIO_PID=$! - - # Wait for MinIO to be ready - echo "⏳ Waiting for MinIO to be ready..." - for i in {1..30}; do - if curl -sf "$NCPS_TEST_S3_ENDPOINT/minio/health/live"; then - echo "✅ MinIO is ready" - break - fi - if [ $i -eq 30 ]; then - echo "❌ MinIO failed to start" - kill $MINIO_PID 2>/dev/null || true - exit 1 - fi - sleep 1 - done - - # Setup admin alias - mc alias set local "$NCPS_TEST_S3_ENDPOINT" "$MINIO_ROOT_USER" "$MINIO_ROOT_PASSWORD" - - # Create test bucket - mc mb "local/$NCPS_TEST_S3_BUCKET" || true - - # Create service account for tests - mc admin user svcacct add \ - --access-key "$NCPS_TEST_S3_ACCESS_KEY_ID" \ - --secret-key "$NCPS_TEST_S3_SECRET_ACCESS_KEY" \ - local admin || true - - echo "✅ MinIO configured for S3 integration tests" - ''; - - # Stop MinIO after tests complete - postCheck = '' - echo "🛑 Stopping MinIO..." - kill $MINIO_PID 2>/dev/null || true - rm -rf "$MINIO_DATA_DIR" - echo "✅ MinIO stopped and cleaned up" + ${minioPreCheck} ''; postInstall = '' diff --git a/pkgs/by-name/ne/netron/package.nix b/pkgs/by-name/ne/netron/package.nix index ab91cb264f7c..98d22a6294e0 100644 --- a/pkgs/by-name/ne/netron/package.nix +++ b/pkgs/by-name/ne/netron/package.nix @@ -16,16 +16,16 @@ let in buildNpmPackage (finalAttrs: { pname = "netron"; - version = "8.7.8"; + version = "8.8.0"; src = fetchFromGitHub { owner = "lutzroeder"; repo = "netron"; tag = "v${finalAttrs.version}"; - hash = "sha256-Q5Pj086Sd4YfO0+6EepZ2dwN/Ao56lAu792pB9SQqVQ="; + hash = "sha256-sArT0xYJPY48TEIZTIUXR2v6Kf1cGaZT/GpQmTQOXRo="; }; - npmDepsHash = "sha256-tbgEpg3+BXYRhlLdOqSqDW9i7wfV0cm7d3QHxAUHVUc="; + npmDepsHash = "sha256-x5ExZ4YaO9BUZ570NYJE0tS4QDc22DqW2pFYvABmPnM="; nativeBuildInputs = [ jq ]; diff --git a/pkgs/by-name/pr/prismlauncher/package.nix b/pkgs/by-name/pr/prismlauncher/package.nix index 3cf8eab66143..d75ffdca3114 100644 --- a/pkgs/by-name/pr/prismlauncher/package.nix +++ b/pkgs/by-name/pr/prismlauncher/package.nix @@ -64,6 +64,7 @@ symlinkJoin { buildInputs = [ kdePackages.qtbase + kdePackages.qtimageformats kdePackages.qtsvg ] ++ lib.optional ( diff --git a/pkgs/by-name/se/serie/package.nix b/pkgs/by-name/se/serie/package.nix index 58419f8d8ff0..a46da3cc41e7 100644 --- a/pkgs/by-name/se/serie/package.nix +++ b/pkgs/by-name/se/serie/package.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage rec { pname = "serie"; - version = "0.5.6"; + version = "0.5.7"; src = fetchFromGitHub { owner = "lusingander"; repo = "serie"; rev = "v${version}"; - hash = "sha256-i9muqWkvJOBuUmOJ2ib8S6WOKUwqmiciZFc+rv0GBpI="; + hash = "sha256-JWpqF19rZIw4GyKAzoGYsuCEDJOLDRiHRFJBsguISZ0="; }; - cargoHash = "sha256-8ZTk6Kixiv4MCpvAdYfwiJzJIMqX5MVu9pNaPjMahUs="; + cargoHash = "sha256-0pJDz6R/3EJl7K+cuy9ftngvOig/DO52cyUgkdnWa10="; nativeCheckInputs = [ gitMinimal ]; diff --git a/pkgs/by-name/so/solana-cli/package.nix b/pkgs/by-name/so/solana-cli/package.nix index d7dbfcb0c77e..654a6c95b2e5 100644 --- a/pkgs/by-name/so/solana-cli/package.nix +++ b/pkgs/by-name/so/solana-cli/package.nix @@ -59,6 +59,18 @@ rustPlatform.buildRustPackage rec { env = { RUSTFLAGS = "-Amismatched_lifetime_syntaxes -Adead_code -Aunused_parens"; LIBCLANG_PATH = "${libclang.lib}/lib"; + + # Used by build.rs in the rocksdb-sys crate. If we don't set these, it would + # try to build RocksDB from source. + ROCKSDB_LIB_DIR = "${rocksdb}/lib"; + + # Require this on darwin otherwise the compiler starts rambling about missing + # cmath functions + CPPFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-isystem ${lib.getInclude stdenv.cc.libcxx}/include/c++/v1"; + LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-L${lib.getLib stdenv.cc.libcxx}/lib"; + + # If set, always finds OpenSSL in the system, even if the vendored feature is enabled. + OPENSSL_NO_VENDOR = 1; }; # Even tho the tests work, a shit ton of them try to connect to a local RPC @@ -99,20 +111,6 @@ rustPlatform.buildRustPackage rec { find . -name libsolana_program.rlib -exec cp {} $out/bin/deps \; ''; - env = { - # Used by build.rs in the rocksdb-sys crate. If we don't set these, it would - # try to build RocksDB from source. - ROCKSDB_LIB_DIR = "${rocksdb}/lib"; - - # Require this on darwin otherwise the compiler starts rambling about missing - # cmath functions - CPPFLAGS = lib.optionals stdenv.hostPlatform.isDarwin "-isystem ${lib.getInclude stdenv.cc.libcxx}/include/c++/v1"; - LDFLAGS = lib.optionals stdenv.hostPlatform.isDarwin "-L${lib.getLib stdenv.cc.libcxx}/lib"; - - # If set, always finds OpenSSL in the system, even if the vendored feature is enabled. - OPENSSL_NO_VENDOR = 1; - }; - meta = { description = "Web-Scale Blockchain for fast, secure, scalable, decentralized apps and marketplaces"; homepage = "https://solana.com"; diff --git a/pkgs/by-name/st/star-history/package.nix b/pkgs/by-name/st/star-history/package.nix index 2a2124379c37..08171a2fe258 100644 --- a/pkgs/by-name/st/star-history/package.nix +++ b/pkgs/by-name/st/star-history/package.nix @@ -8,14 +8,14 @@ rustPlatform.buildRustPackage rec { pname = "star-history"; - version = "1.0.31"; + version = "1.0.32"; src = fetchCrate { inherit pname version; - hash = "sha256-AxaJK39QkhTTATKh+lYzS3zxAlIElJUyOaUCi2pjXhQ="; + hash = "sha256-JilIVnxSXEK525TK+mHal+37G7PYcaQogVC2ozYeLY4="; }; - cargoHash = "sha256-sXqUbG6GlesC6NtM+xwzopuyswIezr8CLzidCx6fMQk="; + cargoHash = "sha256-9qKdn3q4d4N36+jng4ZKfazcxR9iMOh1PeUNYfZz8pg="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/sv/svp/mpv.nix b/pkgs/by-name/sv/svp/mpv.nix index 8c4e7839c1ca..daf2f61b637c 100644 --- a/pkgs/by-name/sv/svp/mpv.nix +++ b/pkgs/by-name/sv/svp/mpv.nix @@ -1,11 +1,12 @@ { lib, + mpv, mpv-unwrapped, ocl-icd, }: -mpv-unwrapped.wrapper { - mpv = mpv-unwrapped.override { vapoursynthSupport = true; }; +mpv.override { + mpv-unwrapped = mpv-unwrapped.override { vapoursynthSupport = true; }; extraMakeWrapperArgs = [ # Add paths to required libraries "--prefix" diff --git a/pkgs/by-name/te/temporal/package.nix b/pkgs/by-name/te/temporal/package.nix index 85ca39845bb7..f2cc1a5cc3ec 100644 --- a/pkgs/by-name/te/temporal/package.nix +++ b/pkgs/by-name/te/temporal/package.nix @@ -9,13 +9,13 @@ buildGoModule rec { pname = "temporal"; - version = "1.29.1"; + version = "1.29.2"; src = fetchFromGitHub { owner = "temporalio"; repo = "temporal"; rev = "v${version}"; - hash = "sha256-rUm1zHxM0KYPgKpK7w0XLU7aF3H6sECgSe/UtbNdgJM="; + hash = "sha256-WiiezZ/2FgRte4BStIGHQhb5bHtfldi3TaIRG0xFtW0="; }; vendorHash = "sha256-HW2j8swbaWwU1i3udqlT8VyFreML6ZH14zWxF8L5NTQ="; diff --git a/pkgs/by-name/th/theclicker/package.nix b/pkgs/by-name/th/theclicker/package.nix new file mode 100644 index 000000000000..a8ab42853fc2 --- /dev/null +++ b/pkgs/by-name/th/theclicker/package.nix @@ -0,0 +1,32 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, + versionCheckHook, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "theclicker"; + version = "0.2.3"; + + src = fetchFromGitHub { + owner = "konkitoman"; + repo = "autoclicker"; + tag = finalAttrs.version; + hash = "sha256-Q5Uwl2SWdat/cHRPf4GVQihn1NwlFKbkpWRFnScnvw0="; + }; + + cargoHash = "sha256-JL/X2s/SnmK88btz/MmB6t8nKqUXks07+tWXc4trfLM="; + + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + + meta = { + homepage = "https://github.com/konkitoman/autoclicker"; + description = "A simple autoclicker cli that works on (x11/wayland)"; + maintainers = [ lib.maintainers.SchweGELBin ]; + mainProgram = "theclicker"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/by-name/to/tombi/package.nix b/pkgs/by-name/to/tombi/package.nix index 864d5d9a6f58..5252a177387c 100644 --- a/pkgs/by-name/to/tombi/package.nix +++ b/pkgs/by-name/to/tombi/package.nix @@ -9,19 +9,19 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "tombi"; - version = "0.7.9"; + version = "0.7.12"; src = fetchFromGitHub { owner = "tombi-toml"; repo = "tombi"; tag = "v${finalAttrs.version}"; - hash = "sha256-JjqImFAffkK84Kq65L+ig7YkLR82P599d4clqR1hSCw="; + hash = "sha256-UeccD8fsph9y054vGDQMwGEeoaHEY0lPL0/X3QIn97g="; }; # Tests relies on the presence of network doCheck = false; cargoBuildFlags = [ "--package tombi-cli" ]; - cargoHash = "sha256-TCUEhUDFI4HccFZCzyjU9KaN05b86XeNSuyD7WZhyLs="; + cargoHash = "sha256-Gp8wU0+jIcFYqtFWVXfLmEx28jLcFwtMsGzDbvo/O8s="; postPatch = '' substituteInPlace Cargo.toml \ diff --git a/pkgs/by-name/xr/xremap/package.nix b/pkgs/by-name/xr/xremap/package.nix index ae4a9918a1f5..9a61af5eee0b 100644 --- a/pkgs/by-name/xr/xremap/package.nix +++ b/pkgs/by-name/xr/xremap/package.nix @@ -43,13 +43,13 @@ assert ( ); rustPlatform.buildRustPackage (finalAttrs: { pname = "xremap${variant.suffix or ""}"; - version = "0.14.7"; + version = "0.14.8"; src = fetchFromGitHub { owner = "xremap"; repo = "xremap"; tag = "v${finalAttrs.version}"; - hash = "sha256-nnq9UlIhrcG7cLuOE0UV8Qnl9coXCSIcJX2SC4TSmfE="; + hash = "sha256-FPZ4iQA/vVZGzbO8i8lTK8i9A3zs9BLqMvTMeAVv9rQ="; }; nativeBuildInputs = [ pkg-config ]; @@ -57,7 +57,7 @@ rustPlatform.buildRustPackage (finalAttrs: { buildNoDefaultFeatures = true; buildFeatures = variant.features; - cargoHash = "sha256-3uXhzIivcn5VSh9DEZtUoA7PRg1xC0OKtc7q1DWX+18="; + cargoHash = "sha256-FMd3z+49qvheFrlL81+diVJVKDjVy4am85IHR1IgA1U="; passthru = lib.mapAttrs (name: lib.const (xremap.override { withVariant = name; })) variants; diff --git a/pkgs/development/ocaml-modules/pyml/default.nix b/pkgs/development/ocaml-modules/pyml/default.nix index 8f5553ffa59e..4067588ab713 100644 --- a/pkgs/development/ocaml-modules/pyml/default.nix +++ b/pkgs/development/ocaml-modules/pyml/default.nix @@ -15,7 +15,7 @@ buildDunePackage rec { owner = "ocamllibs"; repo = "pyml"; tag = version; - hash = "sha256-WPtmj9EEs7P72OXWJg1syIrbLuh7u4V4W4nyozXmSa0="; + hash = "sha256-0Yy5T/S3Npwt0XJmEsdXGg5AXYi9vV9UG9nMSzz/CEc="; }; buildInputs = [ diff --git a/pkgs/development/python-modules/asyncmy/default.nix b/pkgs/development/python-modules/asyncmy/default.nix index 756fda8c3d67..0f7f07627ccb 100644 --- a/pkgs/development/python-modules/asyncmy/default.nix +++ b/pkgs/development/python-modules/asyncmy/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "long2ice"; repo = "asyncmy"; tag = "v${version}"; - hash = "sha256-HQZmt22yPYaWfJzL20+jBc855HR4dVW983Z0LrN1Xa0="; + hash = "sha256-pWAUvHWtmpPlKh6YGJqhubQzIUSB0LeVanqfziOMWIM="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/atproto/default.nix b/pkgs/development/python-modules/atproto/default.nix index 87431ec4f33a..312d4308c7cd 100644 --- a/pkgs/development/python-modules/atproto/default.nix +++ b/pkgs/development/python-modules/atproto/default.nix @@ -22,7 +22,6 @@ # nativeCheckInputs pytestCheckHook, pytest-asyncio, - coverage, }: buildPythonPackage rec { @@ -64,7 +63,6 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook pytest-asyncio - coverage ]; disabledTestPaths = [ diff --git a/pkgs/development/python-modules/bayespy/default.nix b/pkgs/development/python-modules/bayespy/default.nix index b827aabed55f..9046ff2bf25a 100644 --- a/pkgs/development/python-modules/bayespy/default.nix +++ b/pkgs/development/python-modules/bayespy/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "bayespy"; repo = "bayespy"; tag = version; - hash = "sha256-X7CwJBrKHlU1jqMkt/7XEzaiwul1Yzkb/V64lXG4Aqo="; + hash = "sha256-kx87XY4GCL1PQIeZyovEbrPyCC/EVA6Hdvt+3P/D6VI="; }; postPatch = '' diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix index 25ff99755a88..8ac137b6acef 100644 --- a/pkgs/development/python-modules/boto3-stubs/default.nix +++ b/pkgs/development/python-modules/boto3-stubs/default.nix @@ -358,13 +358,13 @@ buildPythonPackage rec { pname = "boto3-stubs"; - version = "1.42.18"; + version = "1.42.19"; pyproject = true; src = fetchPypi { pname = "boto3_stubs"; inherit version; - hash = "sha256-iFJwsP9w9LDUS7zDp5m4AlUhQbJVErb5arnZUwWsf6M="; + hash = "sha256-nCLpxZHcOdfxLncUjn5SJo0R9F7DVs3EIEukEuXJAqE="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/botocore-stubs/default.nix b/pkgs/development/python-modules/botocore-stubs/default.nix index 35997f98974e..c3aec271cc92 100644 --- a/pkgs/development/python-modules/botocore-stubs/default.nix +++ b/pkgs/development/python-modules/botocore-stubs/default.nix @@ -9,13 +9,13 @@ buildPythonPackage rec { pname = "botocore-stubs"; - version = "1.42.18"; + version = "1.42.19"; pyproject = true; src = fetchPypi { pname = "botocore_stubs"; inherit version; - hash = "sha256-FfL3cVoh1ELB763GCHbSl3Diu4RBxhw7hquQEi+/1LU="; + hash = "sha256-L8rica8qJM1GFmJGWJsix2tJujBlazsMUEuSpJ/aHKI="; }; nativeBuildInputs = [ setuptools ]; diff --git a/pkgs/development/python-modules/bump-my-version/default.nix b/pkgs/development/python-modules/bump-my-version/default.nix index 88b2e472c301..2b17dae578a3 100644 --- a/pkgs/development/python-modules/bump-my-version/default.nix +++ b/pkgs/development/python-modules/bump-my-version/default.nix @@ -31,14 +31,14 @@ buildPythonPackage rec { pname = "bump-my-version"; - version = "1.2.5"; + version = "1.2.6"; pyproject = true; src = fetchFromGitHub { owner = "callowayproject"; repo = "bump-my-version"; tag = version; - hash = "sha256-XSURPCU/sXbUOR+FYhrlo1G5W3o06Q+RcRa/lbEUBow="; + hash = "sha256-/YaaVWddBAQlDvHqsDfYd5Dv+2VLkFrtuTfCGih4XBo="; }; build-system = [ diff --git a/pkgs/development/python-modules/busylight-for-humans/default.nix b/pkgs/development/python-modules/busylight-for-humans/default.nix index 6b9742daf472..904978dc90f8 100644 --- a/pkgs/development/python-modules/busylight-for-humans/default.nix +++ b/pkgs/development/python-modules/busylight-for-humans/default.nix @@ -20,14 +20,14 @@ buildPythonPackage rec { pname = "busylight-for-humans"; - version = "0.45.2"; + version = "0.45.3"; pyproject = true; src = fetchFromGitHub { owner = "JnyJny"; repo = "busylight"; tag = "v${version}"; - hash = "sha256-G+l+jkHZzz3tX1CcC7Cq1iCFZPbeQ6CI4xCMkTWA5EE="; + hash = "sha256-EP+2jWOrXQE8sZQYclMMbpfr+FmPHIbZ35NNbfCTnUk="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/checkdmarc/default.nix b/pkgs/development/python-modules/checkdmarc/default.nix index 4b6b961f2a8a..4a9516747755 100644 --- a/pkgs/development/python-modules/checkdmarc/default.nix +++ b/pkgs/development/python-modules/checkdmarc/default.nix @@ -20,14 +20,14 @@ buildPythonPackage rec { pname = "checkdmarc"; - version = "5.13.0"; + version = "5.13.1"; pyproject = true; src = fetchFromGitHub { owner = "domainaware"; repo = "checkdmarc"; tag = version; - hash = "sha256-lhAi5iSzXFMeue7UK/mRz9/+N2++LY2JFVR00K/OhNo="; + hash = "sha256-/y5fFRqnlxrPrg5WAUfTQnuyShiqnqXrAZfShQnGvgc="; }; pythonRelaxDeps = [ diff --git a/pkgs/development/python-modules/cxxheaderparser/default.nix b/pkgs/development/python-modules/cxxheaderparser/default.nix index c4c39941a610..08ca4d5c238a 100644 --- a/pkgs/development/python-modules/cxxheaderparser/default.nix +++ b/pkgs/development/python-modules/cxxheaderparser/default.nix @@ -1,22 +1,23 @@ { + lib, buildPythonPackage, fetchFromGitHub, - lib, + hatch-vcs, + hatchling, pcpp, pytestCheckHook, - setuptools, }: buildPythonPackage rec { pname = "cxxheaderparser"; - version = "1.6.0"; + version = "1.6.2"; pyproject = true; src = fetchFromGitHub { owner = "robotpy"; repo = "cxxheaderparser"; - rev = version; - hash = "sha256-3nQCUb2sgF91ilREHj/fb8IoMTHjPoOFWGzkbssGqFY="; + tag = version; + hash = "sha256-AvSwt8ED+w1WlLwa8DPP9+zG8g5c8p51mvQx8ZfDMqk="; }; postPatch = '' @@ -24,15 +25,21 @@ buildPythonPackage rec { echo "__version__ = '${version}'" > cxxheaderparser/version.py ''; - build-system = [ setuptools ]; + build-system = [ + hatch-vcs + hatchling + ]; checkInputs = [ pcpp ]; + nativeCheckInputs = [ pytestCheckHook ]; + pythonImportsCheck = [ "cxxheaderparser" ]; meta = { - description = "Modern pure python C++ header parser"; + description = "Modern pure Python C++ header parser"; homepage = "https://github.com/robotpy/cxxheaderparser"; + changelog = "https://github.com/robotpy/cxxheaderparser/releases/tag/${src.tag}"; license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ nim65s ]; platforms = lib.platforms.unix; diff --git a/pkgs/development/python-modules/cyclopts/default.nix b/pkgs/development/python-modules/cyclopts/default.nix index 6bda8b4ce559..1b0473534d2f 100644 --- a/pkgs/development/python-modules/cyclopts/default.nix +++ b/pkgs/development/python-modules/cyclopts/default.nix @@ -22,14 +22,14 @@ buildPythonPackage rec { pname = "cyclopts"; - version = "4.4.0"; + version = "4.4.1"; pyproject = true; src = fetchFromGitHub { owner = "BrianPugh"; repo = "cyclopts"; tag = "v${version}"; - hash = "sha256-D9luX6h1gkfjHk4Y/JakpLBF+KY58qDKDhpWKmiVS2Y="; + hash = "sha256-kp/mnqa2difEA3s1jtXF1fDluQhLCJ4f6rFRruRbE9k="; }; build-system = [ diff --git a/pkgs/development/python-modules/iamdata/default.nix b/pkgs/development/python-modules/iamdata/default.nix index e79db32270e4..150b42736e9d 100644 --- a/pkgs/development/python-modules/iamdata/default.nix +++ b/pkgs/development/python-modules/iamdata/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "iamdata"; - version = "0.1.202512301"; + version = "0.1.202512311"; pyproject = true; src = fetchFromGitHub { owner = "cloud-copilot"; repo = "iam-data-python"; tag = "v${version}"; - hash = "sha256-IafnDDsOVzsQsBJb5QhUuwfbVixnoBWGHTAmETslefQ="; + hash = "sha256-T5cgAVV5X67aT8i7pumXl30I4Eb0flp6g+UvVtAbkUY="; }; __darwinAllowLocalNetworking = true; diff --git a/pkgs/development/python-modules/itables/default.nix b/pkgs/development/python-modules/itables/default.nix index b87be0bbb575..c13f8bf76de9 100644 --- a/pkgs/development/python-modules/itables/default.nix +++ b/pkgs/development/python-modules/itables/default.nix @@ -14,15 +14,24 @@ # nativeBuildInputs nodejs, - # dependencies + # optional-dependencies ipython, numpy, pandas, + polars, + narwhals, + matplotlib, + anywidget, + traitlets, + streamlit, + marimo, + pyarrow, + typing-extensions, }: buildPythonPackage rec { pname = "itables"; - version = "2.5.2"; + version = "2.6.2"; # itables has 4 different node packages, each with their own # package-lock.json, and partially depending on each other. @@ -30,7 +39,7 @@ buildPythonPackage rec { # the source tarball from pypi, which includes the javascript bundle already. src = fetchPypi { inherit pname version; - hash = "sha256-7DS7rPv0MFVw6nWzaXDeRC+SQSbzcBwyOlpGAY3oTIo="; + hash = "sha256-P3PzBBB022Q3+9L3Loq18kyWhXB2JcCF/3FwHUPkxi8="; }; pyproject = true; @@ -47,11 +56,44 @@ buildPythonPackage rec { nodejs ]; - dependencies = [ - ipython - numpy - pandas - ]; + # shiny and modin omitted due to missing deps + optional-dependencies = { + all = [ + pandas + polars + narwhals + matplotlib + ipython + anywidget + traitlets + dash + streamlit + marimo + pyarrow + ]; + pandas = [ pandas ]; + polars = [ polars ]; + narwhals = [ narwhals ]; + style = [ + pandas + matplotlib + ]; + notebook = [ ipython ]; + widget = [ + anywidget + traitlets + ]; + dash = [ + dash + typing-extensions + ]; + streamlit = [ streamlit ]; + marimo = [ marimo ]; + other_dataframes = [ + narwhals + pyarrow + ]; + }; # no tests in pypi tarball doCheck = false; diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 24ec1069e042..0510d26cf9bc 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -338,8 +338,8 @@ in "sha256-zMNP1LXKSynkfJSLn19sz5UoT8LiswD5qSZCn1y5GsA="; mypy-boto3-connect = - buildMypyBoto3Package "connect" "1.42.18" - "sha256-/BfqYdUJygoVgTkDK20q72ihFPNmvrqIymzjj+48pns="; + buildMypyBoto3Package "connect" "1.42.19" + "sha256-PDva4umoq8e5JTRSaLs+VPr5fJFUdhy+QQKajM9G4MA="; mypy-boto3-connect-contact-lens = buildMypyBoto3Package "connect-contact-lens" "1.42.3" @@ -713,8 +713,8 @@ in "sha256-N21GfynAZdHOQnQgKcA9mJMWDfbN/pBfx509W4XDGjU="; mypy-boto3-kafkaconnect = - buildMypyBoto3Package "kafkaconnect" "1.42.12" - "sha256-CdqSbNGUfeYz76BipvPsF+8j7hFOHJSSgXgcr2BEDUY="; + buildMypyBoto3Package "kafkaconnect" "1.42.19" + "sha256-82y1eElG60knpJhQYQiVa+qv2xi1z+CHjHE8IfGSpkE="; mypy-boto3-kendra = buildMypyBoto3Package "kendra" "1.42.3" diff --git a/pkgs/development/python-modules/numbagg/default.nix b/pkgs/development/python-modules/numbagg/default.nix index 8ec945dd890f..38d47436b392 100644 --- a/pkgs/development/python-modules/numbagg/default.nix +++ b/pkgs/development/python-modules/numbagg/default.nix @@ -21,7 +21,7 @@ }: buildPythonPackage rec { - version = "0.9.3"; + version = "0.9.4"; pname = "numbagg"; pyproject = true; @@ -29,7 +29,7 @@ buildPythonPackage rec { owner = "numbagg"; repo = "numbagg"; tag = "v${version}"; - hash = "sha256-MEgSxxKZaL0sPhERFa8DWF+Vkc/VuHDyyB2yfFv/uYw="; + hash = "sha256-JYgjeExpL+rbiaFPO9IHsm4Qh6GTLdTWB5dO3zIIPbs="; }; build-system = [ diff --git a/pkgs/development/python-modules/schedula/default.nix b/pkgs/development/python-modules/schedula/default.nix index 13e3b496ea64..93b58d9606ea 100644 --- a/pkgs/development/python-modules/schedula/default.nix +++ b/pkgs/development/python-modules/schedula/default.nix @@ -25,14 +25,14 @@ buildPythonPackage rec { pname = "schedula"; - version = "1.5.71"; + version = "1.5.72"; pyproject = true; src = fetchFromGitHub { owner = "vinci1it2000"; repo = "schedula"; tag = "v${version}"; - hash = "sha256-Ru9GCdhfC8WU8YxVlpBqxGvoIPhfpl9Zd7cBrom4CL0="; + hash = "sha256-UfUe9Uv4y61SOEvqW5bbK891F7ysZS+jxtp1zN5JAGM="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix index 8eab37f2a674..e214dcfadc69 100644 --- a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix +++ b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "tencentcloud-sdk-python"; - version = "3.1.22"; + version = "3.1.23"; pyproject = true; src = fetchFromGitHub { owner = "TencentCloud"; repo = "tencentcloud-sdk-python"; tag = version; - hash = "sha256-+hrBKYO1y0gCJw9odWbUNA7t4DXuSj4Lwr189vO82fM="; + hash = "sha256-TAhWPyUZu8PKO5tirjQ00djspW177jX1TrqTvS+7YIA="; }; build-system = [ setuptools ]; diff --git a/pkgs/os-specific/linux/wpa_supplicant/gui.nix b/pkgs/os-specific/linux/wpa_supplicant/gui.nix index 57fe44ff5e12..68a8331b5bab 100644 --- a/pkgs/os-specific/linux/wpa_supplicant/gui.nix +++ b/pkgs/os-specific/linux/wpa_supplicant/gui.nix @@ -10,7 +10,7 @@ mkDerivation { pname = "wpa_gui"; - inherit (wpa_supplicant) version src; + inherit (wpa_supplicant) version src patches; buildInputs = [ qtbase ]; nativeBuildInputs = [ diff --git a/pkgs/os-specific/linux/wpa_supplicant/unprivileged-daemon.patch b/pkgs/os-specific/linux/wpa_supplicant/unprivileged-daemon.patch index 93dceff753cd..e7105017b7c8 100644 --- a/pkgs/os-specific/linux/wpa_supplicant/unprivileged-daemon.patch +++ b/pkgs/os-specific/linux/wpa_supplicant/unprivileged-daemon.patch @@ -1,6 +1,6 @@ -commit 24e932357ee3041763135b931206dfc0bbe0441e +commit 4608dab78e6ac78be7ab625fb066861549daa37f Author: rnhmjoj -Date: Wed Jul 23 10:18:55 2025 +0200 +Date: Wed Dec 31 01:43:26 2025 +0100 Fixes for running wpa_supplicant unprivileged @@ -19,7 +19,7 @@ Date: Wed Jul 23 10:18:55 2025 +0200 of tmp. Motivation: this allows to unshare /tmp diff --git a/src/common/wpa_ctrl.c b/src/common/wpa_ctrl.c -index 7e197f0..6bfb091 100644 +index 7e197f094..6bfb09111 100644 --- a/src/common/wpa_ctrl.c +++ b/src/common/wpa_ctrl.c @@ -15,6 +15,8 @@ @@ -46,6 +46,8 @@ index 7e197f0..6bfb091 100644 #ifdef ANDROID /* Set group even if we do not have privileges to change owner */ lchown(ctrl->local.sun_path, -1, AID_WIFI); +diff --git a/wpa_supplicant/dbus/dbus-wpa_supplicant.conf b/wpa_supplicant/dbus/dbus-wpa_supplicant.conf +index e81b495f4..1ee5bc19a 100644 --- a/wpa_supplicant/dbus/dbus-wpa_supplicant.conf +++ b/wpa_supplicant/dbus/dbus-wpa_supplicant.conf @@ -2,9 +2,15 @@ @@ -67,7 +69,7 @@ index 7e197f0..6bfb091 100644 diff --git a/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in b/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in -index d97ff39..367a7c6 100644 +index d97ff3921..367a7c670 100644 --- a/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in +++ b/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in @@ -1,5 +1,5 @@ @@ -78,7 +80,7 @@ index d97ff39..367a7c6 100644 +User=wpa_supplicant SystemdService=wpa_supplicant.service diff --git a/wpa_supplicant/wpa_cli.c b/wpa_supplicant/wpa_cli.c -index af00e79..840b307 100644 +index 03180a316..f5e22dee1 100644 --- a/wpa_supplicant/wpa_cli.c +++ b/wpa_supplicant/wpa_cli.c @@ -44,10 +44,10 @@ static int wpa_cli_attached = 0; @@ -94,3 +96,53 @@ index af00e79..840b307 100644 static char *ctrl_ifname = NULL; static const char *global = NULL; static const char *pid_file = NULL; +diff --git a/wpa_supplicant/wpa_gui-qt4/wpagui.cpp b/wpa_supplicant/wpa_gui-qt4/wpagui.cpp +index 0c125d90f..924b43313 100644 +--- a/wpa_supplicant/wpa_gui-qt4/wpagui.cpp ++++ b/wpa_supplicant/wpa_gui-qt4/wpagui.cpp +@@ -137,7 +137,8 @@ WpaGui::WpaGui(QApplication *_app, QWidget *parent, const char *, + ctrl_conn = NULL; + monitor_conn = NULL; + msgNotifier = NULL; +- ctrl_iface_dir = strdup("/var/run/wpa_supplicant"); ++ ctrl_iface_dir = strdup("/run/wpa_supplicant/control"); ++ client_socket_dir = strdup("/run/wpa_supplicant/client"); + signalMeterInterval = 0; + + parse_argv(); +@@ -321,7 +322,7 @@ int WpaGui::openCtrlConnection(const char *ifname) + free(ctrl_iface); + ctrl_iface = NULL; + +- ctrl = wpa_ctrl_open(NULL); ++ ctrl = wpa_ctrl_open2(NULL, client_socket_dir); + if (ctrl) { + len = sizeof(buf) - 1; + ret = wpa_ctrl_request(ctrl, "INTERFACES", 10, buf, +@@ -385,12 +386,12 @@ int WpaGui::openCtrlConnection(const char *ifname) + } + + debug("Trying to connect to '%s'", cfile); +- ctrl_conn = wpa_ctrl_open(cfile); ++ ctrl_conn = wpa_ctrl_open2(cfile, client_socket_dir); + if (ctrl_conn == NULL) { + free(cfile); + return -1; + } +- monitor_conn = wpa_ctrl_open(cfile); ++ monitor_conn = wpa_ctrl_open2(cfile, client_socket_dir); + free(cfile); + if (monitor_conn == NULL) { + wpa_ctrl_close(ctrl_conn); +diff --git a/wpa_supplicant/wpa_gui-qt4/wpagui.h b/wpa_supplicant/wpa_gui-qt4/wpagui.h +index 898722bd9..228a39cef 100644 +--- a/wpa_supplicant/wpa_gui-qt4/wpagui.h ++++ b/wpa_supplicant/wpa_gui-qt4/wpagui.h +@@ -131,6 +131,7 @@ private: + int pingsToStatusUpdate; + WpaMsgList msgs; + char *ctrl_iface_dir; ++ char *client_socket_dir; + struct wpa_ctrl *monitor_conn; + UserDataRequest *udr; + QAction *disconnectAction; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a1e5c624088c..c8d4367a3038 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11356,14 +11356,7 @@ with pkgs; // (config.mplayer or { }) ); - mpv-unwrapped = callPackage ../applications/video/mpv { - stdenv = if stdenv.hostPlatform.isDarwin then swiftPackages.stdenv else stdenv; - }; - - # Wrap avoiding rebuild - mpv = mpv-unwrapped.wrapper { mpv = mpv-unwrapped; }; - - mpvScripts = mpv-unwrapped.scripts; + mpvScripts = callPackage ../by-name/mp/mpv/scripts.nix { }; mu-repo = python3Packages.callPackage ../applications/misc/mu-repo { };