diff --git a/.github/workflows/eval.yml b/.github/workflows/eval.yml index bbc50810f5d1..7a4f590887c9 100644 --- a/.github/workflows/eval.yml +++ b/.github/workflows/eval.yml @@ -29,6 +29,8 @@ jobs: matrix: system: ${{ fromJSON(inputs.systems) }} name: ${{ matrix.system }} + outputs: + targetRunId: ${{ steps.targetRunId.outputs.targetRunId }} steps: - name: Enable swap run: | @@ -88,8 +90,6 @@ jobs: throw new Error(`Could not find a push.yml workflow run for ${targetSha}.`) } - core.setOutput('targetRunId', run_id) - // Waiting 120 * 5 sec = 10 min. max. // Eval takes max 5-6 minutes, normally. for (let i = 0; i < 120; i++) { @@ -98,10 +98,15 @@ jobs: run_id, name: `merged-${system}` }) - if (result.data.total_count > 0) return + if (result.data.total_count > 0) { + core.setOutput('targetRunId', run_id) + return + } await new Promise(resolve => setTimeout(resolve, 5000)) } - throw new Error(`No merged-${system} artifact found.`) + // No artifact found at this stage. This usually means that Eval failed on the target branch. + // This should only happen when Eval is broken on the target branch and this PR fixes it. + // Continue without targetRunId to skip the remaining steps, but pass the job. - uses: actions/download-artifact@v4 if: steps.targetRunId.outputs.targetRunId @@ -133,7 +138,7 @@ jobs: compare: runs-on: ubuntu-24.04-arm needs: [eval] - if: inputs.targetSha + if: needs.eval.outputs.targetRunId permissions: statuses: write steps: diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 55fda4abe90f..b3658e72834e 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -11021,6 +11021,13 @@ githubId = 4035835; name = "Iwan"; }; + ixhby = { + email = "phoenix@ixhby.dev"; + github = "ixhbinphoenix"; + githubId = 47122082; + name = "Emilia Nyx"; + keys = [ { fingerprint = "91DB 328E 3FAB 8A08 9AF6 5276 3E62 370C 1D77 3013"; } ]; + }; ixmatus = { email = "parnell@digitalmentat.com"; github = "ixmatus"; diff --git a/nixos/doc/manual/release-notes/rl-2511.section.md b/nixos/doc/manual/release-notes/rl-2511.section.md index 295d9ede7118..03b2d6584f9f 100644 --- a/nixos/doc/manual/release-notes/rl-2511.section.md +++ b/nixos/doc/manual/release-notes/rl-2511.section.md @@ -28,6 +28,8 @@ - [LACT](https://github.com/ilya-zlobintsev/LACT), a GPU monitoring and configuration tool, can now be enabled through [services.lact.enable](#opt-services.lact.enable). Note that for LACT to work properly on AMD GPU systems, you need to enable [hardware.amdgpu.overdrive.enable](#opt-hardware.amdgpu.overdrive.enable). +- Auto-scrub support for Bcachefs filesystems can now be enabled through [services.bcachefs.autoScrub.enable](#opt-services.bcachefs.autoScrub.enable) to periodically check for data corruption. If there's a correct copy available, it will automatically repair corrupted blocks. + - [tlsrpt-reporter], an application suite to generate and deliver TLSRPT reports. Available as [services.tlsrpt](#opt-services.tlsrpt.enable). - [Broadcast Box](https://github.com/Glimesh/broadcast-box), a WebRTC broadcast server. Available as [services.broadcast-box](options.html#opt-services.broadcast-box.enable). diff --git a/nixos/modules/services/networking/atticd.nix b/nixos/modules/services/networking/atticd.nix index 43d66ef06238..39aef744bd7f 100644 --- a/nixos/modules/services/networking/atticd.nix +++ b/nixos/modules/services/networking/atticd.nix @@ -86,7 +86,7 @@ in user = lib.mkOption { description = '' - The group under which attic runs. + The user under which attic runs. ''; type = types.str; default = "atticd"; @@ -94,7 +94,7 @@ in group = lib.mkOption { description = '' - The user under which attic runs. + The group under which attic runs. ''; type = types.str; default = "atticd"; diff --git a/nixos/modules/tasks/filesystems/bcachefs.nix b/nixos/modules/tasks/filesystems/bcachefs.nix index a3d0e9463832..75a3fb21686c 100644 --- a/nixos/modules/tasks/filesystems/bcachefs.nix +++ b/nixos/modules/tasks/filesystems/bcachefs.nix @@ -7,6 +7,7 @@ }: let + cfgScrub = config.services.bcachefs.autoScrub; bootFs = lib.filterAttrs ( n: fs: (fs.fsType == "bcachefs") && (utils.fsNeededForBoot fs) @@ -159,6 +160,32 @@ let in { + options.services.bcachefs.autoScrub = { + enable = lib.mkEnableOption "regular bcachefs scrub"; + + fileSystems = lib.mkOption { + type = lib.types.listOf lib.types.path; + example = [ "/" ]; + description = '' + List of paths to bcachefs filesystems to regularly call {command}`bcachefs scrub` on. + Defaults to all mount points with bcachefs filesystems. + ''; + }; + + interval = lib.mkOption { + default = "monthly"; + type = lib.types.str; + example = "weekly"; + description = '' + Systemd calendar expression for when to scrub bcachefs filesystems. + The recommended period is a month but could be less. + See + {manpage}`systemd.time(7)` + for more information on the syntax. + ''; + }; + }; + config = lib.mkIf (config.boot.supportedFilesystems.bcachefs or false) ( lib.mkMerge [ { @@ -205,6 +232,99 @@ in boot.initrd.systemd.services = lib.mapAttrs' (mkUnits "/sysroot") bootFs; }) + + (lib.mkIf (cfgScrub.enable) { + assertions = [ + { + assertion = lib.versionAtLeast config.boot.kernelPackages.kernel.version "6.14"; + message = "Bcachefs scrubbing is supported from kernel version 6.14 or later."; + } + { + assertion = cfgScrub.enable -> (cfgScrub.fileSystems != [ ]); + message = '' + If 'services.bcachefs.autoScrub' is enabled, you need to have at least one + bcachefs file system mounted via 'fileSystems' or specify a list manually + in 'services.bcachefs.autoScrub.fileSystems'. + ''; + } + ]; + + # This will remove duplicated units from either having a filesystem mounted multiple + # time, or additionally mounted subvolumes, as well as having a filesystem span + # multiple devices (provided the same device is used to mount said filesystem). + services.bcachefs.autoScrub.fileSystems = + let + isDeviceInList = list: device: builtins.filter (e: e.device == device) list != [ ]; + + uniqueDeviceList = lib.foldl' ( + acc: e: if isDeviceInList acc e.device then acc else acc ++ [ e ] + ) [ ]; + in + lib.mkDefault ( + map (e: e.mountPoint) ( + uniqueDeviceList ( + lib.mapAttrsToList (name: fs: { + mountPoint = fs.mountPoint; + device = fs.device; + }) (lib.filterAttrs (name: fs: fs.fsType == "bcachefs") config.fileSystems) + ) + ) + ); + + systemd.timers = + let + scrubTimer = + fs: + let + fs' = utils.escapeSystemdPath fs; + in + lib.nameValuePair "bcachefs-scrub-${fs'}" { + description = "regular bcachefs scrub timer on ${fs}"; + + wantedBy = [ "timers.target" ]; + timerConfig = { + OnCalendar = cfgScrub.interval; + AccuracySec = "1d"; + Persistent = true; + }; + }; + in + lib.listToAttrs (map scrubTimer cfgScrub.fileSystems); + + systemd.services = + let + scrubService = + fs: + let + fs' = utils.escapeSystemdPath fs; + in + lib.nameValuePair "bcachefs-scrub-${fs'}" { + description = "bcachefs scrub on ${fs}"; + # scrub prevents suspend2ram or proper shutdown + conflicts = [ + "shutdown.target" + "sleep.target" + ]; + before = [ + "shutdown.target" + "sleep.target" + ]; + + script = "${lib.getExe pkgs.bcachefs-tools} data scrub ${fs}"; + + serviceConfig = { + Type = "oneshot"; + Nice = 19; + IOSchedulingClass = "idle"; + }; + }; + in + lib.listToAttrs (map scrubService cfgScrub.fileSystems); + }) ] ); + + meta = { + inherit (pkgs.bcachefs-tools.meta) maintainers; + }; } diff --git a/pkgs/applications/emulators/libretro/cores/bsnes.nix b/pkgs/applications/emulators/libretro/cores/bsnes.nix index 93a7da0140d4..28e14ac2e4a1 100644 --- a/pkgs/applications/emulators/libretro/cores/bsnes.nix +++ b/pkgs/applications/emulators/libretro/cores/bsnes.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "bsnes"; - version = "0-unstable-2025-05-30"; + version = "0-unstable-2025-06-20"; src = fetchFromGitHub { owner = "libretro"; repo = "bsnes-libretro"; - rev = "c2df3ccaeb8f40852a63a4b66a381d82d4e9b95d"; - hash = "sha256-bPW4ftbdUXsgAs/CEi5/x4iq1NKvgRmHOpMiNJ2W/Gc="; + rev = "1362fc8afda0502a5a427d409d8e40b95fe3f696"; + hash = "sha256-+hPxLDwhjzlSnNIw3xlXLJH3TrwEbil+81VbPQszQX0="; }; makefile = "Makefile"; diff --git a/pkgs/by-name/ba/basicswap/package.nix b/pkgs/by-name/ba/basicswap/package.nix index e8ecd5a406db..cf66255cd150 100644 --- a/pkgs/by-name/ba/basicswap/package.nix +++ b/pkgs/by-name/ba/basicswap/package.nix @@ -52,14 +52,14 @@ let in python3Packages.buildPythonApplication rec { pname = "basicswap"; - version = "0.14.3"; + version = "0.14.4"; pyproject = true; src = fetchFromGitHub { owner = "basicswap"; repo = "basicswap"; tag = "v${version}"; - hash = "sha256-Ay7MQJdbPDjbtfaIWsegu01KIjlKQqdqH3MomYW7KGc="; + hash = "sha256-UhuBTbGULImqRSsbg0QNb3yvnN7rnSzycweDLbqrW+8="; }; postPatch = '' diff --git a/pkgs/by-name/bc/bcachefs-tools/package.nix b/pkgs/by-name/bc/bcachefs-tools/package.nix index 9243639bc51f..b1dc39652c24 100644 --- a/pkgs/by-name/bc/bcachefs-tools/package.nix +++ b/pkgs/by-name/bc/bcachefs-tools/package.nix @@ -132,6 +132,7 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.gpl2Only; maintainers = with lib.maintainers; [ davidak + johnrtitor Madouura ]; platforms = lib.platforms.linux; diff --git a/pkgs/by-name/ci/ciscoPacketTracer7/package.nix b/pkgs/by-name/ci/ciscoPacketTracer7/package.nix index f91e6612a004..01a9e7d6ee09 100644 --- a/pkgs/by-name/ci/ciscoPacketTracer7/package.nix +++ b/pkgs/by-name/ci/ciscoPacketTracer7/package.nix @@ -4,6 +4,8 @@ buildFHSEnv, copyDesktopItems, dpkg, + fetchurl, + libxml2, lndir, makeDesktopItem, makeWrapper, @@ -48,6 +50,14 @@ let ]; }; + libxml2' = libxml2.overrideAttrs rec { + version = "2.13.8"; + src = fetchurl { + url = "mirror://gnome/sources/libxml2/${lib.versions.majorMinor version}/libxml2-${version}.tar.xz"; + hash = "sha256-J3KUyzMRmrcbK8gfL0Rem8lDW4k60VuyzSsOhZoO6Eo="; + }; + }; + fhs = buildFHSEnv { pname = "packettracer7"; inherit version; @@ -64,7 +74,7 @@ let libpulseaudio libudev0-shim libxkbcommon - libxml2 + libxml2' libxslt nspr nss diff --git a/pkgs/by-name/ci/ciscoPacketTracer8/package.nix b/pkgs/by-name/ci/ciscoPacketTracer8/package.nix index 45d2f3fab038..10472dc0f356 100644 --- a/pkgs/by-name/ci/ciscoPacketTracer8/package.nix +++ b/pkgs/by-name/ci/ciscoPacketTracer8/package.nix @@ -7,6 +7,7 @@ alsa-lib, dbus, expat, + fetchurl, fontconfig, glib, libdrm, @@ -40,6 +41,14 @@ let "8.2.2" = "CiscoPacketTracer822_amd64_signed.deb"; }; + libxml2' = libxml2.overrideAttrs rec { + version = "2.13.8"; + src = fetchurl { + url = "mirror://gnome/sources/libxml2/${lib.versions.majorMinor version}/libxml2-${version}.tar.xz"; + hash = "sha256-J3KUyzMRmrcbK8gfL0Rem8lDW4k60VuyzSsOhZoO6Eo="; + }; + }; + unwrapped = stdenvNoCC.mkDerivation { name = "ciscoPacketTracer8-unwrapped"; inherit version; @@ -68,7 +77,7 @@ let libpulseaudio libudev0-shim libxkbcommon - libxml2 + libxml2' libxslt nspr nss diff --git a/pkgs/by-name/gh/gh-copilot/package.nix b/pkgs/by-name/gh/gh-copilot/package.nix index 02f78eed2627..1335469709e6 100644 --- a/pkgs/by-name/gh/gh-copilot/package.nix +++ b/pkgs/by-name/gh/gh-copilot/package.nix @@ -10,26 +10,26 @@ let systemToPlatform = { "x86_64-linux" = { name = "linux-amd64"; - hash = "sha256-KIiwIv0VzJf0GVkuDsevEah48hv4VybLuBhy4dJvggo="; + hash = "sha256-bDAhFU18dliKlKY5WQVsVSMVyF4YeTaKO9pwheMcdcg="; }; "aarch64-linux" = { name = "linux-arm64"; - hash = "sha256-hNXDIB7r3Hdo7g2pPZKAYYrOaBJmAq7UKc+ZnRnVeoA="; + hash = "sha256-uddWn2RxQyB9s7kx6FI/oH9L/7l/fMD/7HQXWDqvuyQ="; }; "x86_64-darwin" = { name = "darwin-amd64"; - hash = "sha256-1tN734huSBzke8j8H/dyFS90LsWGFuGtLdYdrLbGeOs="; + hash = "sha256-L+lCmI1ciYInCt5aTcSVRDW0IwecGZ2BZNKrpeEE4jo="; }; "aarch64-darwin" = { name = "darwin-arm64"; - hash = "sha256-lGhgND1E4jWZmoAaPXcxNlew9eqWOrMHAYVnpFnqeio="; + hash = "sha256-9ldVRUhHM2OD+BaOCqVmaE+HFP5jj+hrfyB6wobjS+E="; }; }; platform = systemToPlatform.${system} or throwSystem; in stdenv.mkDerivation (finalAttrs: { pname = "gh-copilot"; - version = "1.1.0"; + version = "1.1.1"; src = fetchurl { name = "gh-copilot"; diff --git a/pkgs/by-name/mi/migrate-to-uv/package.nix b/pkgs/by-name/mi/migrate-to-uv/package.nix index 73505bc9c61c..8271b2a187ea 100644 --- a/pkgs/by-name/mi/migrate-to-uv/package.nix +++ b/pkgs/by-name/mi/migrate-to-uv/package.nix @@ -11,19 +11,19 @@ python3.pkgs.buildPythonApplication rec { pname = "migrate-to-uv"; - version = "0.7.2"; + version = "0.7.3"; pyproject = true; src = fetchFromGitHub { owner = "mkniewallner"; repo = "migrate-to-uv"; tag = version; - hash = "sha256-mN0xU9hoaWP0gQnGlZSnge/0eZwcJm3E5cBTpgXSO1E="; + hash = "sha256-hLcWZKY1wauGpcAn+tC4P1zvFid7QDVXUK24QSIJ4u0="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit src pname version; - hash = "sha256-KhErvN3hn5Yjt/mY/fqXhxAh+GpzmM0mkgK8MaJwbcM="; + hash = "sha256-nyJ2UbdBcNX8mNpq447fM2QuscTdJwnjqP7AKBKv7kY="; }; build-system = [ diff --git a/pkgs/by-name/my/mysql-workbench/package.nix b/pkgs/by-name/my/mysql-workbench/package.nix index ed575a1de305..1ef123b5b74b 100644 --- a/pkgs/by-name/my/mysql-workbench/package.nix +++ b/pkgs/by-name/my/mysql-workbench/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchurl, + fetchpatch, replaceVars, cmake, @@ -73,6 +74,13 @@ stdenv.mkDerivation (finalAttrs: { # Don't try to override the ANTLR_JAR_PATH specified in cmakeFlags ./dont-search-for-antlr-jar.patch + + # fixes the build with python 3.13 + (fetchpatch { + name = "python3.13.patch"; + url = "https://git.pld-linux.org/?p=packages/mysql-workbench.git;a=blob_plain;f=python-3.13.patch;h=d1425a93c41fb421603cda6edbb0514389cdc6a8;hb=bb09cb858f3b9c28df699d3b98530a6c590b5b7a"; + hash = "sha256-hLfPqZSNf3ls2WThF1SBRjV33zTUymfgDmdZVpgO22Q="; + }) ]; postPatch = '' diff --git a/pkgs/by-name/ne/nextcloud-client/package.nix b/pkgs/by-name/ne/nextcloud-client/package.nix index 1f32c3a48dc8..ed826e8d441c 100644 --- a/pkgs/by-name/ne/nextcloud-client/package.nix +++ b/pkgs/by-name/ne/nextcloud-client/package.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { pname = "nextcloud-client"; - version = "3.16.5"; + version = "3.16.6"; outputs = [ "out" @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { owner = "nextcloud-releases"; repo = "desktop"; tag = "v${version}"; - hash = "sha256-Xul3NGHResU/ZGP/C7v2bnhcxqGn3CjwjwnaPVmUhfM="; + hash = "sha256-f6+FwYVwuG89IjEQMOepTJEgJGXp9nmQNuAGU4proq4="; }; patches = [ diff --git a/pkgs/by-name/oc/oci-cli/package.nix b/pkgs/by-name/oc/oci-cli/package.nix index a6e1c0604fb5..aeca69b75ce4 100644 --- a/pkgs/by-name/oc/oci-cli/package.nix +++ b/pkgs/by-name/oc/oci-cli/package.nix @@ -25,14 +25,14 @@ in py.pkgs.buildPythonApplication rec { pname = "oci-cli"; - version = "3.58.1"; + version = "3.59.0"; format = "setuptools"; src = fetchFromGitHub { owner = "oracle"; repo = "oci-cli"; tag = "v${version}"; - hash = "sha256-h/iFB7JIrVa/FBCMqjYIeN9DlF/H8oQYHtYT9bII/CU="; + hash = "sha256-V3YaGYrBDzKSZ9Cx0FEA9uGnPK+CX08b5tKaJ5pHGJA="; }; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/oh/oha/package.nix b/pkgs/by-name/oh/oha/package.nix index bf49a3478d1b..1f512401ebbb 100644 --- a/pkgs/by-name/oh/oha/package.nix +++ b/pkgs/by-name/oh/oha/package.nix @@ -10,17 +10,17 @@ rustPlatform.buildRustPackage rec { pname = "oha"; - version = "1.8.0"; + version = "1.9.0"; src = fetchFromGitHub { owner = "hatoo"; repo = "oha"; tag = "v${version}"; - hash = "sha256-hE3G8hPFHLd+lORzIgdaZ0xxfska011GdVk20bg3S7s="; + hash = "sha256-ZUZee+jEhTaVGwYtNvYHckdLxb9axOsLUYkKrd07Zvg="; }; useFetchCargoVendor = true; - cargoHash = "sha256-seipBF9gfut+Z4CKMSbo6/TckSjH8PwF9HbnpbnpL0Q="; + cargoHash = "sha256-HUy41huDWTmpdPkcCB4Kti7oAI7M5q5gB8u/UZlLrU4="; nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ pkg-config diff --git a/pkgs/by-name/op/openlinkhub/package.nix b/pkgs/by-name/op/openlinkhub/package.nix index 7dbe09b6f8fa..47a5bd54d795 100644 --- a/pkgs/by-name/op/openlinkhub/package.nix +++ b/pkgs/by-name/op/openlinkhub/package.nix @@ -9,13 +9,13 @@ buildGoModule rec { pname = "openlinkhub"; - version = "0.5.7"; + version = "0.5.8"; src = fetchFromGitHub { owner = "jurkovic-nikola"; repo = "OpenLinkHub"; tag = version; - hash = "sha256-WXurXrwqdX7rIPlVakodBaswakZFeTxczJ+j7AlIuOM="; + hash = "sha256-PThcqTHjVgUDUCA0uvkDr6vNoCKa96bF0UaHz2drAsQ="; }; proxyVendor = true; diff --git a/pkgs/by-name/pi/pixelpwnr/package.nix b/pkgs/by-name/pi/pixelpwnr/package.nix new file mode 100644 index 000000000000..cd7c023ce86e --- /dev/null +++ b/pkgs/by-name/pi/pixelpwnr/package.nix @@ -0,0 +1,28 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "pixelpwnr"; + version = "0.1.0-unstable-2024-12-30"; + + src = fetchFromGitHub { + owner = "timvisee"; + repo = "pixelpwnr"; + rev = "0019afb86bbb3c0d29f9a7bacfd7ab0049506cee"; + hash = "sha256-VwQndSgvuD/bktA6REdQVIuVPFnicgVoYNU1wPZZzb0="; + }; + + cargoHash = "sha256-jO9vyfIGVXW0ZA4ET4YnM8oTlWHpSIMg35z7B3anbAA="; + + meta = { + description = "Insanely fast pixelflut client for images and animations written in Rust"; + homepage = "https://github.com/timvisee/pixelpwnr"; + license = lib.licenses.gpl3Only; + maintainers = [ lib.maintainers.ixhby ]; + platforms = lib.platforms.linux; + mainProgram = "pixelpwnr"; + }; +}) diff --git a/pkgs/by-name/pl/plex-desktop/package.nix b/pkgs/by-name/pl/plex-desktop/package.nix index 181a9626fea5..13b35878c96d 100644 --- a/pkgs/by-name/pl/plex-desktop/package.nix +++ b/pkgs/by-name/pl/plex-desktop/package.nix @@ -116,6 +116,7 @@ let cp usr/lib/x86_64-linux-gnu/libtiff.so.5 $out/lib/libtiff.so.5 cp usr/lib/x86_64-linux-gnu/libwebp.so.6 $out/lib/libwebp.so.6 cp usr/lib/x86_64-linux-gnu/libxkbfile.so.1.0.2 $out/lib/libxkbfile.so.1 + cp usr/lib/x86_64-linux-gnu/libxml2.so.2 $out/lib/libxml2.so.2 cp usr/lib/x86_64-linux-gnu/libxslt.so.1.1.34 $out/lib/libxslt.so.1 runHook postInstall diff --git a/pkgs/by-name/pr/prefect/package.nix b/pkgs/by-name/pr/prefect/package.nix index 752b6d9f8baf..31ae575004a0 100644 --- a/pkgs/by-name/pr/prefect/package.nix +++ b/pkgs/by-name/pr/prefect/package.nix @@ -86,6 +86,7 @@ python3Packages.buildPythonApplication rec { ujson uvicorn websockets + whenever uv ] ++ sqlalchemy.optional-dependencies.asyncio diff --git a/pkgs/by-name/ru/ruffle/package.nix b/pkgs/by-name/ru/ruffle/package.nix index 192109a9c876..e68824f1b2c1 100644 --- a/pkgs/by-name/ru/ruffle/package.nix +++ b/pkgs/by-name/ru/ruffle/package.nix @@ -21,17 +21,17 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "ruffle"; - version = "0-nightly-2025-06-11"; + version = "0-nightly-2025-06-21"; src = fetchFromGitHub { owner = "ruffle-rs"; repo = "ruffle"; tag = lib.strings.removePrefix "0-" finalAttrs.version; - hash = "sha256-7r81iw5Mt+3EOwf28fn/26DjK7g1VazCvDEjngBYq9o="; + hash = "sha256-rlNDqdN+hPKndxABTCm4kv6QH5k4dMJ86ADQSxONawQ="; }; useFetchCargoVendor = true; - cargoHash = "sha256-cCZrI0KyTH/HBmjVXmL5cR6c839gXGLPTBi3HHTEI24="; + cargoHash = "sha256-k3nDnLbB/9xx6uT8mNw7L5fMtDNZBrIPFBRsVCdVIc8="; cargoBuildFlags = lib.optional withRuffleTools "--workspace"; env = diff --git a/pkgs/by-name/sl/slint-lsp/package.nix b/pkgs/by-name/sl/slint-lsp/package.nix index d20dc3b17cb3..a896f56a35bc 100644 --- a/pkgs/by-name/sl/slint-lsp/package.nix +++ b/pkgs/by-name/sl/slint-lsp/package.nix @@ -15,14 +15,14 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "slint-lsp"; - version = "1.11.0"; + version = "1.12.0"; src = fetchCrate { inherit (finalAttrs) pname version; - hash = "sha256-bFYoXIe/AFN2eNUOGoFhxjD0fWtxujrdhmLx0TZOH0U="; + hash = "sha256-QH/CyNYoyTUOj6HKIe6KqHUqQ9p/RXuIP9hQ9MK6Hd8="; }; - cargoHash = "sha256-GYEItiyUVAAL7K/6o31U4Ss75JOUE8Mxxf0Ut6T7X04="; + cargoHash = "sha256-IAajmbSAVK07V+V0MmFYP/SvK9QhYjmxY8FFj6nYYBE="; rpathLibs = [ diff --git a/pkgs/by-name/ta/task-master-ai/package.nix b/pkgs/by-name/ta/task-master-ai/package.nix index ee3f84e51d58..9a5e2ad84825 100644 --- a/pkgs/by-name/ta/task-master-ai/package.nix +++ b/pkgs/by-name/ta/task-master-ai/package.nix @@ -6,16 +6,16 @@ }: buildNpmPackage (finalAttrs: { pname = "task-master-ai"; - version = "0.16.1"; + version = "0.17.1"; src = fetchFromGitHub { owner = "eyaltoledano"; repo = "claude-task-master"; tag = "v${finalAttrs.version}"; - hash = "sha256-u9gLwYGRNwkyIOS8zf0nSJfrUDs7ib3Vbm0awtskpSg="; + hash = "sha256-1k17Eiwu+Fj45VCYVzf9Obj7MniyOuWerm76rNX4E8E="; }; - npmDepsHash = "sha256-PjnyCqYKj1alnm1gOMSnIeGtg3pJcZ5A8ThxOQZMSF4="; + npmDepsHash = "sha256-0usq016nVWxhDx36ijk5O7oN1pkdTu38mgjfBPIBqss="; dontNpmBuild = true; diff --git a/pkgs/by-name/un/unstructured-api/package.nix b/pkgs/by-name/un/unstructured-api/package.nix index 309f2e68b524..39728f7cd84b 100644 --- a/pkgs/by-name/un/unstructured-api/package.nix +++ b/pkgs/by-name/un/unstructured-api/package.nix @@ -144,7 +144,7 @@ let ++ google-api-core.optional-dependencies.grpc ++ unstructured.optional-dependencies.all-docs ); - version = "0.0.86"; + version = "0.0.87"; unstructured_api_nltk_data = python3.pkgs.nltk.dataDir (d: [ d.punkt d.averaged-perceptron-tagger @@ -158,7 +158,7 @@ stdenvNoCC.mkDerivation { owner = "Unstructured-IO"; repo = "unstructured-api"; rev = version; - hash = "sha256-8GjBhuZJUt+dN3DuC2tqzPFblZNzLJsYu0ZAh7asdyM="; + hash = "sha256-yb5m62OJWAGTwQBzCRGfeRc6/BCqGiYKYgdG/cslzgs="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/wa/wakatime-cli/package.nix b/pkgs/by-name/wa/wakatime-cli/package.nix index 799322691404..dda168242f2f 100644 --- a/pkgs/by-name/wa/wakatime-cli/package.nix +++ b/pkgs/by-name/wa/wakatime-cli/package.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "wakatime-cli"; - version = "1.115.3"; + version = "1.115.4"; src = fetchFromGitHub { owner = "wakatime"; repo = "wakatime-cli"; tag = "v${version}"; - hash = "sha256-czoAX9CKvIZjODeKcadX9vzBhOcMeyjwbljv1PrMtOg="; + hash = "sha256-AgVpmlP6LcFAteV+fSDwTfG/TmujOxYLdP3wU6PBCh8="; }; - vendorHash = "sha256-1yqpz3DqWHXw3ihh7YAKtl5Co91VAbBMRu68S/igrMc="; + vendorHash = "sha256-4eaVVcwAQPiF4YhW32JHrqEePDFPHKRN8nWJb/WgUb4="; ldflags = [ "-s" diff --git a/pkgs/by-name/wp/wp-cli/package.nix b/pkgs/by-name/wp/wp-cli/package.nix index cdd3f8eb5f00..a5858c44d159 100644 --- a/pkgs/by-name/wp/wp-cli/package.nix +++ b/pkgs/by-name/wp/wp-cli/package.nix @@ -1,16 +1,20 @@ { - stdenv, lib, + stdenv, fetchurl, formats, installShellFiles, makeWrapper, + versionCheckHook, php, + writeScript, + nix-update, + common-updater-scripts, phpIniFile ? null, }: let - version = "2.10.0"; + version = "2.12.0"; completion = fetchurl { url = "https://raw.githubusercontent.com/wp-cli/wp-cli/v${version}/utils/wp-completion.bash"; @@ -33,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "https://github.com/wp-cli/wp-cli/releases/download/v${version}/wp-cli-${version}.phar"; - hash = "sha256-TGqTzsrn9JnKSB+nptbUKZyLkyFOXlMI4mdw2/02Md8="; + hash = "sha256-zjTd2Dj3NR1nWQaNCXk/JnVUY7SkYQpaXAqXtoIg2Fw="; }; dontUnpack = true; @@ -71,9 +75,20 @@ stdenv.mkDerivation (finalAttrs: { doInstallCheck = true; - installCheckPhase = '' - $out/bin/wp --info - ''; + nativeInstallCheckInputs = [ versionCheckHook ]; + + versionCheckProgram = "${placeholder "out"}/bin/wp"; + + versionCheckProgramArg = "--info"; + + passthru = { + inherit completion; + updateScript = writeScript "update-wp-cli" '' + ${lib.getExe nix-update} + version=$(nix-instantiate --eval -E "with import ./. {}; wp-cli.version or (lib.getVersion wp-cli)" | tr -d '"') + ${lib.getExe' common-updater-scripts "update-source-version"} wp-cli $version --source-key=completion --ignore-same-version --ignore-same-hash + ''; + }; meta = { description = "Command line interface for WordPress"; diff --git a/pkgs/by-name/ws/wsjtz/package.nix b/pkgs/by-name/ws/wsjtz/package.nix index a58b8fda01a5..dd0d5e25220b 100644 --- a/pkgs/by-name/ws/wsjtz/package.nix +++ b/pkgs/by-name/ws/wsjtz/package.nix @@ -1,19 +1,19 @@ { - wsjtx, - fetchzip, lib, + fetchzip, + wsjtx, }: wsjtx.overrideAttrs (old: rec { pname = "wsjtz"; - version = "2.7.0-rc7-1.43"; + version = "2.7.0-rc7-1.48"; src = fetchzip { url = "mirror://sourceforge/wsjt-z/Source/wsjtz-${version}.zip"; - hash = "sha256-m+P83S5P9v3NPtifc+XjZm/mAOs+NT9fTWXisxuWtZo="; + hash = "sha256-8PHbBlF0MtIgLn4HCFkbGivy8vBwg7NbvjMLaRj+4nI="; }; - postFixup = '' + postInstall = '' mv $out/bin/wsjtx $out/bin/wsjtz mv $out/bin/wsjtx_app_version $out/bin/wsjtz_app_version ''; @@ -21,7 +21,7 @@ wsjtx.overrideAttrs (old: rec { meta = { description = "WSJT-X fork, primarily focused on automation and enhanced functionality"; homepage = "https://sourceforge.net/projects/wsjt-z/"; - license = lib.licenses.gpl3; + license = lib.licenses.gpl3Only; platforms = lib.platforms.linux; maintainers = with lib.maintainers; [ scd31 diff --git a/pkgs/by-name/xi/xiccd/package.nix b/pkgs/by-name/xi/xiccd/package.nix index 30fa495d71a0..9221077b3ac6 100644 --- a/pkgs/by-name/xi/xiccd/package.nix +++ b/pkgs/by-name/xi/xiccd/package.nix @@ -4,40 +4,45 @@ fetchFromGitHub, autoreconfHook, pkg-config, - libX11, libXrandr, glib, colord, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "xiccd"; - version = "0.3.0"; + version = "0.4.1"; src = fetchFromGitHub { owner = "agalakhov"; repo = "xiccd"; - rev = "v${version}"; - sha256 = "159fyz5535lcabi5bzmxgmjdgxlqcjaiqgzr00mi3ax0i5fdldwn"; + tag = "v${finalAttrs.version}"; + hash = "sha256-inDSW+GYvSw2hNMzjq3cxEvY+Vkqmmm2kXdhskvcygU="; }; + postPatch = '' + substituteInPlace configure.ac \ + --replace-fail "m4_esyscmd_s([git describe --abbrev=7 --dirty --always --tags])" "${finalAttrs.version}" \ + --replace-fail "AM_INIT_AUTOMAKE([1.9 no-dist-gzip dist-xz tar-ustar])" "AM_INIT_AUTOMAKE([foreign 1.9 no-dist-gzip dist-xz tar-ustar])" + ''; + nativeBuildInputs = [ autoreconfHook pkg-config ]; + buildInputs = [ - libX11 libXrandr glib colord ]; - meta = with lib; { + meta = { description = "X color profile daemon"; homepage = "https://github.com/agalakhov/xiccd"; - license = licenses.gpl3; - maintainers = with maintainers; [ abbradar ]; - platforms = platforms.linux; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ abbradar ]; + platforms = lib.platforms.linux; mainProgram = "xiccd"; }; -} +}) diff --git a/pkgs/by-name/xi/xiphos/0001-Add-dbus-glib-dependency-to-main.patch b/pkgs/by-name/xi/xiphos/0001-Add-dbus-glib-dependency-to-main.patch index 71cb57ccef18..c603565f4310 100644 --- a/pkgs/by-name/xi/xiphos/0001-Add-dbus-glib-dependency-to-main.patch +++ b/pkgs/by-name/xi/xiphos/0001-Add-dbus-glib-dependency-to-main.patch @@ -18,11 +18,10 @@ diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt index 49b86371..bb8e4bb6 100644 --- a/src/main/CMakeLists.txt +++ b/src/main/CMakeLists.txt -@@ -74,3 +74,14 @@ target_link_libraries(main - PkgConfig::Sword +@@ -77,6 +77,17 @@ PkgConfig::Biblesync ) -+ + +IF (DBUS) + target_include_directories (main + PRIVATE ${CMAKE_CURRENT_BINARY_DIR} @@ -33,6 +32,10 @@ index 49b86371..bb8e4bb6 100644 + PkgConfig::DBus + ) +ENDIF (DBUS) ++ + if(WK_FOUND) + target_compile_definitions(main + PRIVATE -- 2.34.1 diff --git a/pkgs/by-name/xi/xiphos/package.nix b/pkgs/by-name/xi/xiphos/package.nix index b990de90fee8..92ef69d02a1b 100644 --- a/pkgs/by-name/xi/xiphos/package.nix +++ b/pkgs/by-name/xi/xiphos/package.nix @@ -1,8 +1,7 @@ { - stdenv, lib, + stdenv, fetchFromGitHub, - fetchpatch, appstream-glib, biblesync, cmake, @@ -10,46 +9,34 @@ desktop-file-utils, docbook2x, docbook_xml_dtd_412, - enchant2, glib, - gtk3, gtkhtml, icu, intltool, - isocodes, itstool, libuuid, libxslt, minizip, pkg-config, sword, - webkitgtk_4_0, + webkitgtk_4_1, wrapGAppsHook3, yelp-tools, zip, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "xiphos"; - version = "4.2.1"; + version = "4.3.2"; src = fetchFromGitHub { owner = "crosswire"; repo = "xiphos"; - rev = version; - hash = "sha256-H5Q+azE2t3fgu77C9DxrkeUCJ7iJz3Cc91Ln4dqLvD8="; + tag = finalAttrs.version; + hash = "sha256-HTndBWfze8tV4G9npLYB7SkgpJNQcQBZqHKjxhZU6JY="; }; patches = [ - # GLIB_VERSION_MIN_REQUIRED is not defined. - # https://github.com/crosswire/xiphos/issues/1083#issuecomment-820304874 - (fetchpatch { - name = "xiphos-glibc.patch"; - url = "https://aur.archlinux.org/cgit/aur.git/plain/xiphos-glibc.patch?h=xiphos&id=bb816f43ba764ffac1287ab1e2a649c2443e3ce8"; - sha256 = "he3U7phU2/QCrZidHviupA7YwzudnQ9Jbb8eMZw6/ck="; - extraPrefix = ""; - }) - # Fix D-Bus build # https://github.com/crosswire/xiphos/pull/1103 ./0001-Add-dbus-glib-dependency-to-main.patch @@ -73,16 +60,13 @@ stdenv.mkDerivation rec { buildInputs = [ biblesync dbus-glib - enchant2 glib - gtk3 gtkhtml icu - isocodes libuuid minizip sword - webkitgtk_4_0 + webkitgtk_4_1 ]; cmakeFlags = [ @@ -92,12 +76,12 @@ stdenv.mkDerivation rec { preConfigure = '' # The build script won't continue without the version saved locally. - echo "${version}" > cmake/source_version.txt + echo "${finalAttrs.version}" > cmake/source_version.txt export SWORD_HOME=${sword}; ''; - meta = with lib; { + meta = { description = "GTK Bible study tool"; longDescription = '' Xiphos (formerly known as GnomeSword) is a Bible study tool @@ -106,8 +90,8 @@ stdenv.mkDerivation rec { modules from The SWORD Project and elsewhere. ''; homepage = "https://www.xiphos.org/"; - license = licenses.gpl2Plus; + license = lib.licenses.gpl2Plus; maintainers = [ ]; - platforms = platforms.linux; + platforms = lib.platforms.linux; }; -} +}) diff --git a/pkgs/by-name/xj/xjobs/package.nix b/pkgs/by-name/xj/xjobs/package.nix index da6cbc288580..a86476ef280e 100644 --- a/pkgs/by-name/xj/xjobs/package.nix +++ b/pkgs/by-name/xj/xjobs/package.nix @@ -8,15 +8,20 @@ which, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "xjobs"; - version = "20200726"; + version = "20250209"; src = fetchurl { - url = "mirror://sourceforge//xjobs/files/xjobs-${version}.tgz"; - sha256 = "0ay6gn43pnm7r1jamwgpycl67bjg5n87ncl27jb01w2x6x70z0i3"; + url = "mirror://sourceforge//xjobs/files/xjobs-${finalAttrs.version}.tgz"; + hash = "sha256-I7Vu7NunJEE4ioLap+GPnqIG2jfzSx6Wj2dOQmb9vuk="; }; + postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace jobctrl.c \ + --replace-fail "#include " $'#include \n#include ' + ''; + nativeBuildInputs = [ flex installShellFiles @@ -41,12 +46,12 @@ stdenv.mkDerivation rec { runHook postInstall ''; - meta = with lib; { + meta = { description = "Program which reads job descriptions line by line and executes them in parallel"; homepage = "https://www.maier-komor.de/xjobs.html"; - license = licenses.gpl2Plus; - platforms = platforms.all; - maintainers = [ maintainers.siriobalmelli ]; + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.all; + maintainers = [ lib.maintainers.siriobalmelli ]; longDescription = '' xjobs reads job descriptions line by line and executes them in parallel. @@ -69,4 +74,4 @@ stdenv.mkDerivation rec { ''; mainProgram = "xjobs"; }; -} +}) diff --git a/pkgs/by-name/yt/ytcc/package.nix b/pkgs/by-name/yt/ytcc/package.nix index 4fb2f6db9399..9831cd461c77 100644 --- a/pkgs/by-name/yt/ytcc/package.nix +++ b/pkgs/by-name/yt/ytcc/package.nix @@ -4,38 +4,43 @@ fetchFromGitHub, gettext, installShellFiles, + versionCheckHook, }: python3Packages.buildPythonApplication rec { pname = "ytcc"; - version = "2.6.1"; + version = "2.7.2"; pyproject = true; src = fetchFromGitHub { owner = "woefe"; repo = "ytcc"; - rev = "v${version}"; - hash = "sha256-pC2uoog+nev/Xa6UbXX4vX00VQQLHtZzbVkxrxO/Pg8="; + tag = "v${version}"; + hash = "sha256-PNSkIp6CJvgirO3k2lB0nOVEC1+znhn3/OyRIJ1EANI="; }; - nativeBuildInputs = - [ - gettext - installShellFiles - ] - ++ (with python3Packages; [ - setuptools - ]); + build-system = with python3Packages; [ hatchling ]; - propagatedBuildInputs = with python3Packages; [ + nativeBuildInputs = [ + gettext + installShellFiles + ]; + + dependencies = with python3Packages; [ yt-dlp click wcwidth + defusedxml ]; - nativeCheckInputs = with python3Packages; [ - pytestCheckHook - ]; + nativeCheckInputs = + with python3Packages; + [ + pytestCheckHook + ] + ++ [ versionCheckHook ]; + + versionCheckProgramArg = "--version"; # Disable tests that touch network or shell out to commands disabledTests = [ @@ -49,6 +54,7 @@ python3Packages.buildPythonApplication rec { "test_import_duplicate" "test_update" "test_download" + "test_comma_list_error" ]; postInstall = '' @@ -63,6 +69,7 @@ python3Packages.buildPythonApplication rec { description = "Command Line tool to keep track of your favourite YouTube channels without signing up for a Google account"; homepage = "https://github.com/woefe/ytcc"; license = lib.licenses.gpl3Plus; + mainProgram = "ytcc"; maintainers = with lib.maintainers; [ marius851000 ]; }; } diff --git a/pkgs/tools/misc/wyrd/default.nix b/pkgs/tools/misc/wyrd/default.nix index 75598abbfd11..3590f482aab9 100644 --- a/pkgs/tools/misc/wyrd/default.nix +++ b/pkgs/tools/misc/wyrd/default.nix @@ -7,15 +7,15 @@ remind, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "wyrd"; - version = "1.7.1"; + version = "1.7.4"; src = fetchFromGitLab { owner = "wyrd-calendar"; repo = "wyrd"; - tag = version; - hash = "sha256-RwGzXJLoCWRGgHf1rayBgkZuRwA1TcYNfN/h1rhJC+8="; + tag = finalAttrs.version; + hash = "sha256-9HCwc4yrBi0D+fv7vOPstxN1tqqNyGRgpkce1uLVxTg="; }; strictDeps = true; @@ -28,6 +28,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + ocamlPackages.camlp-streams ocamlPackages.curses ocamlPackages.yojson remind @@ -42,7 +43,7 @@ stdenv.mkDerivation rec { --prefix PATH : "${lib.makeBinPath [ remind ]}" ''; - meta = with lib; { + meta = { description = "Text-based front-end to Remind"; longDescription = '' Wyrd is a text-based front-end to Remind, a sophisticated @@ -53,9 +54,9 @@ stdenv.mkDerivation rec { ''; homepage = "https://gitlab.com/wyrd-calendar/wyrd"; downloadPage = "https://gitlab.com/wyrd-calendar/wyrd"; - license = licenses.gpl2Only; - maintainers = [ maintainers.prikhi ]; - platforms = platforms.unix; + license = lib.licenses.gpl2Only; + maintainers = [ lib.maintainers.prikhi ]; + platforms = lib.platforms.unix; mainProgram = "wyrd"; }; -} +})