Merge staging-next into staging

Changed files
+344 -132
.github
workflows
maintainers
nixos
doc
manual
release-notes
modules
services
networking
tasks
filesystems
pkgs
applications
emulators
libretro
cores
by-name
ba
basicswap
bc
bcachefs-tools
ci
ciscoPacketTracer7
ciscoPacketTracer8
gh
gh-copilot
mi
migrate-to-uv
my
mysql-workbench
ne
nextcloud-client
oc
oci-cli
oh
op
openlinkhub
pi
pixelpwnr
pl
plex-desktop
pr
prefect
ru
ruffle
sl
slint-lsp
ta
task-master-ai
un
unstructured-api
wa
wakatime-cli
wp
wp-cli
ws
wsjtz
xi
xj
xjobs
yt
tools
misc
+10 -5
.github/workflows/eval.yml
···
matrix:
system: ${{ fromJSON(inputs.systems) }}
name: ${{ matrix.system }}
+
outputs:
+
targetRunId: ${{ steps.targetRunId.outputs.targetRunId }}
steps:
- name: Enable swap
run: |
···
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++) {
···
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
···
compare:
runs-on: ubuntu-24.04-arm
needs: [eval]
-
if: inputs.targetSha
+
if: needs.eval.outputs.targetRunId
permissions:
statuses: write
steps:
+7
maintainers/maintainer-list.nix
···
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";
+2
nixos/doc/manual/release-notes/rl-2511.section.md
···
- [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).
+2 -2
nixos/modules/services/networking/atticd.nix
···
user = lib.mkOption {
description = ''
-
The group under which attic runs.
+
The user under which attic runs.
'';
type = types.str;
default = "atticd";
···
group = lib.mkOption {
description = ''
-
The user under which attic runs.
+
The group under which attic runs.
'';
type = types.str;
default = "atticd";
+120
nixos/modules/tasks/filesystems/bcachefs.nix
···
}:
let
+
cfgScrub = config.services.bcachefs.autoScrub;
bootFs = lib.filterAttrs (
n: fs: (fs.fsType == "bcachefs") && (utils.fsNeededForBoot fs)
···
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 [
{
···
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;
+
};
}
+3 -3
pkgs/applications/emulators/libretro/cores/bsnes.nix
···
}:
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";
+2 -2
pkgs/by-name/ba/basicswap/package.nix
···
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 = ''
+1
pkgs/by-name/bc/bcachefs-tools/package.nix
···
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [
davidak
+
johnrtitor
Madouura
];
platforms = lib.platforms.linux;
+11 -1
pkgs/by-name/ci/ciscoPacketTracer7/package.nix
···
buildFHSEnv,
copyDesktopItems,
dpkg,
+
fetchurl,
+
libxml2,
lndir,
makeDesktopItem,
makeWrapper,
···
];
};
+
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;
···
libpulseaudio
libudev0-shim
libxkbcommon
-
libxml2
+
libxml2'
libxslt
nspr
nss
+10 -1
pkgs/by-name/ci/ciscoPacketTracer8/package.nix
···
alsa-lib,
dbus,
expat,
+
fetchurl,
fontconfig,
glib,
libdrm,
···
"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;
···
libpulseaudio
libudev0-shim
libxkbcommon
-
libxml2
+
libxml2'
libxslt
nspr
nss
+5 -5
pkgs/by-name/gh/gh-copilot/package.nix
···
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";
+3 -3
pkgs/by-name/mi/migrate-to-uv/package.nix
···
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 = [
+8
pkgs/by-name/my/mysql-workbench/package.nix
···
lib,
stdenv,
fetchurl,
+
fetchpatch,
replaceVars,
cmake,
···
# 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 = ''
+2 -2
pkgs/by-name/ne/nextcloud-client/package.nix
···
stdenv.mkDerivation rec {
pname = "nextcloud-client";
-
version = "3.16.5";
+
version = "3.16.6";
outputs = [
"out"
···
owner = "nextcloud-releases";
repo = "desktop";
tag = "v${version}";
-
hash = "sha256-Xul3NGHResU/ZGP/C7v2bnhcxqGn3CjwjwnaPVmUhfM=";
+
hash = "sha256-f6+FwYVwuG89IjEQMOepTJEgJGXp9nmQNuAGU4proq4=";
};
patches = [
+2 -2
pkgs/by-name/oc/oci-cli/package.nix
···
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 ];
+3 -3
pkgs/by-name/oh/oha/package.nix
···
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
+2 -2
pkgs/by-name/op/openlinkhub/package.nix
···
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;
+28
pkgs/by-name/pi/pixelpwnr/package.nix
···
+
{
+
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";
+
};
+
})
+1
pkgs/by-name/pl/plex-desktop/package.nix
···
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
+1
pkgs/by-name/pr/prefect/package.nix
···
ujson
uvicorn
websockets
+
whenever
uv
]
++ sqlalchemy.optional-dependencies.asyncio
+3 -3
pkgs/by-name/ru/ruffle/package.nix
···
}:
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 =
+3 -3
pkgs/by-name/sl/slint-lsp/package.nix
···
}:
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 =
[
+3 -3
pkgs/by-name/ta/task-master-ai/package.nix
···
}:
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;
+2 -2
pkgs/by-name/un/unstructured-api/package.nix
···
++ 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
···
owner = "Unstructured-IO";
repo = "unstructured-api";
rev = version;
-
hash = "sha256-8GjBhuZJUt+dN3DuC2tqzPFblZNzLJsYu0ZAh7asdyM=";
+
hash = "sha256-yb5m62OJWAGTwQBzCRGfeRc6/BCqGiYKYgdG/cslzgs=";
};
nativeBuildInputs = [ makeWrapper ];
+3 -3
pkgs/by-name/wa/wakatime-cli/package.nix
···
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"
+21 -6
pkgs/by-name/wp/wp-cli/package.nix
···
{
-
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";
···
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;
···
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";
+6 -6
pkgs/by-name/ws/wsjtz/package.nix
···
{
-
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
'';
···
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
+16 -11
pkgs/by-name/xi/xiccd/package.nix
···
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";
};
-
}
+
})
+6 -3
pkgs/by-name/xi/xiphos/0001-Add-dbus-glib-dependency-to-main.patch
···
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}
···
+ PkgConfig::DBus
+ )
+ENDIF (DBUS)
+
+
+
if(WK_FOUND)
+
target_compile_definitions(main
+
PRIVATE
--
2.34.1
+12 -28
pkgs/by-name/xi/xiphos/package.nix
···
{
-
stdenv,
lib,
+
stdenv,
fetchFromGitHub,
-
fetchpatch,
appstream-glib,
biblesync,
cmake,
···
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
···
buildInputs = [
biblesync
dbus-glib
-
enchant2
glib
-
gtk3
gtkhtml
icu
-
isocodes
libuuid
minizip
sword
-
webkitgtk_4_0
+
webkitgtk_4_1
];
cmakeFlags = [
···
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
···
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;
};
-
}
+
})
+14 -9
pkgs/by-name/xj/xjobs/package.nix
···
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 <stdio.h>" $'#include <stdio.h>\n#include <signal.h>'
+
'';
+
nativeBuildInputs = [
flex
installShellFiles
···
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.
···
'';
mainProgram = "xjobs";
};
-
}
+
})
+22 -15
pkgs/by-name/yt/ytcc/package.nix
···
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 ];
+
+
nativeBuildInputs = [
+
gettext
+
installShellFiles
+
];
-
propagatedBuildInputs = with python3Packages; [
+
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 = [
···
"test_import_duplicate"
"test_update"
"test_download"
+
"test_comma_list_error"
];
postInstall = ''
···
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 ];
};
}
+10 -9
pkgs/tools/misc/wyrd/default.nix
···
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;
···
];
buildInputs = [
+
ocamlPackages.camlp-streams
ocamlPackages.curses
ocamlPackages.yojson
remind
···
--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
···
'';
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";
};
-
}
+
})