Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot]
2025-03-02 06:05:17 +00:00
committed by GitHub
19 changed files with 275 additions and 79 deletions

View File

@@ -19797,6 +19797,12 @@
github = "Reputable2772";
githubId = 153411261;
};
ret2pop = {
email = "ret2pop@gmail.com";
github = "ret2pop";
githubId = 135050157;
name = "Preston Pan";
};
rettetdemdativ = {
email = "michael@koeppl.dev";
github = "rettetdemdativ";

View File

@@ -962,6 +962,7 @@
./services/monitoring/opentelemetry-collector.nix
./services/monitoring/osquery.nix
./services/monitoring/parsedmarc.nix
./services/monitoring/pgscv.nix
./services/monitoring/prometheus/alertmanager-gotify-bridge.nix
./services/monitoring/prometheus/alertmanager-irc-relay.nix
./services/monitoring/prometheus/alertmanager-webhook-logger.nix

View File

@@ -0,0 +1,75 @@
{
config,
lib,
pkgs,
utils,
...
}:
let
inherit (lib)
mkEnableOption
mkIf
mkOption
mkPackageOption
types
;
cfg = config.services.pgscv;
settingsFormat = pkgs.formats.yaml { };
configFile = settingsFormat.generate "config.yaml" cfg.settings;
in
{
options.services.pgscv = {
enable = mkEnableOption "pgSCV, a PostgreSQL ecosystem metrics collector";
package = mkPackageOption pkgs "pgscv" { };
logLevel = mkOption {
type = types.enum [
"debug"
"info"
"warn"
"error"
];
default = "info";
description = "Log level for pgSCV.";
};
settings = mkOption {
type = settingsFormat.type;
default = { };
description = ''
Configuration for pgSCV, in YAML format.
See [configuration reference](https://github.com/cherts/pgscv/wiki/Configuration-settings-reference).
'';
};
};
config = mkIf cfg.enable {
systemd.services.pgscv = {
description = "pgSCV - PostgreSQL ecosystem metrics collector";
wantedBy = [ "multi-user.target" ];
requires = [ "network-online.target" ];
after = [ "network-online.target" ];
path = [ pkgs.glibc ]; # shells out to getconf
serviceConfig = {
User = "postgres";
Group = "postgres";
ExecStart = utils.escapeSystemdExecArgs [
(lib.getExe cfg.package)
"--log-level=${cfg.logLevel}"
"--config-file=${configFile}"
];
KillMode = "control-group";
TimeoutSec = 5;
Restart = "on-failure";
RestartSec = 10;
OOMScoreAdjust = 1000;
};
};
};
}

View File

@@ -8,17 +8,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "clorinde";
version = "0.12.1";
version = "0.13.1";
src = fetchFromGitHub {
owner = "halcyonnouveau";
repo = "clorinde";
tag = "clorinde-v${finalAttrs.version}";
hash = "sha256-c64fbOWURmx9HcinFHShJXjZy2+eDXITH+tBZyRQQuk=";
hash = "sha256-P8Reoz7OAqKyz0pDIJWRWnEtQutSPE5w+gHUuCxN9QI=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-zFYBDMA+PDrbuYJewUuhLtaBYVFAMR+POuO/o00yb9k=";
cargoHash = "sha256-BIAQ6xwvC1X0k+HZqrGxOfv9+b26jVGjMOtbSdqn0hs=";
cargoBuildFlags = [ "--package=clorinde" ];

View File

@@ -17,7 +17,7 @@ python3Packages.buildPythonApplication rec {
format = "pyproject";
src = fetchurl {
url = "https://github.com/eduvpn/python-${pname}/releases/download/${version}/python-${pname}-${version}.tar.xz";
url = "https://codeberg.org/eduVPN/linux-app/releases/download/${version}/python-${pname}-${version}.tar.xz";
hash = "sha256-IHRIjryAIeGcFqz5BMWsE0/gClaSmnwWhjc1f1c69vk=";
};
@@ -45,9 +45,9 @@ python3Packages.buildPythonApplication rec {
];
meta = with lib; {
changelog = "https://raw.githubusercontent.com/eduvpn/python-eduvpn-client/${version}/CHANGES.md";
changelog = "https://codeberg.org/eduVPN/linux-app/raw/tag/${version}/CHANGES.md";
description = "Linux client for eduVPN";
homepage = "https://github.com/eduvpn/python-eduvpn-client";
homepage = "https://codeberg.org/eduVPN/linux-app";
license = licenses.gpl3Plus;
mainProgram = "eduvpn-gui";
maintainers = with maintainers; [

View File

@@ -17,16 +17,16 @@
}:
let
version = "0.200.4";
version = "0.200.5";
src = fetchFromGitHub {
owner = "evcc-io";
repo = "evcc";
tag = version;
hash = "sha256-ld90jN3IuYPzKLef13a437rCTf5rt1Lxo+Sxj8atYF4=";
hash = "sha256-4ZtFVHx3L9/62B9YP0noVcWnzlypWdnayhFJ2hLzFms=";
};
vendorHash = "sha256-sx04fyRXX9H2182yz8qvdLv/sSLXTrzhlwpf8lMSVew=";
vendorHash = "sha256-w524bw5A20Ur4jDFpTKJIShev54oVLL9Dm72wFnBK4E=";
commonMeta = with lib; {
license = licenses.mit;

View File

@@ -31,10 +31,11 @@
perl,
pixman,
vips,
sourcesJSON ? ./sources.json,
}:
let
buildNpmPackage' = buildNpmPackage.override { inherit nodejs; };
sources = lib.importJSON ./sources.json;
sources = lib.importJSON sourcesJSON;
inherit (sources) version;
buildLock = {

View File

@@ -20,7 +20,7 @@
},
"geonames": {
"timestamp": "20250228235146",
"hash": "sha256-ljkYXqotHYkJOWRYIGHUhEWN0hVb2ELBAsZnTxLm2tU="
"hash": "sha256-ACwhGe9506EIlClEVAj0yjy8PcooMscuLgZBjI2xWa8="
}
}
}

View File

@@ -24,14 +24,14 @@
let
pname = "libvmi";
version = "0.14.0-unstable-2024-11-06";
version = "0.14.0-unstable-2025-02-27";
libVersion = "0.0.15";
src = fetchFromGitHub {
owner = "libvmi";
repo = "libvmi";
rev = "8f9b010b0261dbc11e2dda5e718b0e9507109232";
hash = "sha256-CqRv5HgGcCHu1N283NzlkRfFqJlkLUJAz3aMiSXR+0s=";
rev = "f02aeb751fd27bd4ae753dcd5904a4ef3232821e";
hash = "sha256-h5kevP8B1iKJBZMaEaxkrAIgnUy7yOCnN3G3oYf/eNo=";
};
in

View File

@@ -0,0 +1,43 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "pgscv";
version = "0.13.0";
src = fetchFromGitHub {
owner = "CHERTS";
repo = "pgscv";
tag = "v${version}";
hash = "sha256-6qhJZHyVtEI4+pqi0dgagDC2RaISV9g/ygrezJO57Sk=";
};
vendorHash = "sha256-KahDpLwk+6KXaIfvjr7+nkFuEV4Dw3pyshkJ5XUEdUg=";
ldflags = [
"-X=main.appName=pgscv"
"-X=main.gitTag=${src.tag}"
"-X=main.gitCommit=${src.tag}"
"-X=main.gitBranch=${src.tag}"
];
# tests rely on a pretty complex Postgres setup
doCheck = false;
postInstall = ''
mv $out/bin/{cmd,pgscv}
'';
meta = {
description = "PgSCV is a PostgreSQL ecosystem metrics collector";
homepage = "https://github.com/CHERTS/pgscv/";
changelog = "https://github.com/CHERTS/pgscv/releases/${version}";
license = lib.licenses.bsd3;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ k900 ];
mainProgram = "pgscv";
};
}

View File

@@ -2,16 +2,19 @@
lib,
rustPlatform,
fetchFromGitHub,
stdenv,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
rustPlatform.buildRustPackage (finalAttrs: {
pname = "tailspin";
version = "4.0.0";
src = fetchFromGitHub {
owner = "bensadeh";
repo = "tailspin";
rev = version;
tag = finalAttrs.version;
hash = "sha256-5VbxQDK69If5N8EiS8sIKNqHkCAfquOz8nUS7ynp+nA=";
};
@@ -20,15 +23,22 @@ rustPlatform.buildRustPackage rec {
postPatch = ''
substituteInPlace tests/utils.rs --replace-fail \
'target/debug' "target/$(rustc -vV | sed -n 's|host: ||p')/debug"
'target/debug' "target/${stdenv.hostPlatform.rust.rustcTargetSpec}/$cargoCheckType"
'';
meta = with lib; {
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgram = "${placeholder "out"}/bin/tspin";
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "Log file highlighter";
homepage = "https://github.com/bensadeh/tailspin";
changelog = "https://github.com/bensadeh/tailspin/blob/${version}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ dit7ya ];
changelog = "https://github.com/bensadeh/tailspin/blob/${finalAttrs.version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dit7ya ];
mainProgram = "tspin";
};
}
})

View File

@@ -8,33 +8,13 @@
Foundation,
rust-jemalloc-sys,
}:
let
rustPlatform.buildRustPackage (finalAttrs: {
pname = "yazi";
version = "25.2.26";
code_src = fetchFromGitHub {
owner = "sxyazi";
repo = "yazi";
tag = "v${version}";
hash = "sha256-DqhqpQRCSBTGonL9+bP7pA3mO2CemlbhwzShVdrL1/0=";
};
srcs = builtins.attrValues finalAttrs.passthru.srcs;
man_src = fetchFromGitHub {
name = "manpages"; # needed to ensure name is unique
owner = "yazi-rs";
repo = "manpages";
rev = "8950e968f4a1ad0b83d5836ec54a070855068dbf";
hash = "sha256-kEVXejDg4ChFoMNBvKlwdFEyUuTcY2VuK9j0PdafKus=";
};
in
rustPlatform.buildRustPackage rec {
pname = "yazi";
inherit version;
srcs = [
code_src
man_src
];
sourceRoot = code_src.name;
sourceRoot = finalAttrs.passthru.srcs.code_src.name;
useFetchCargoVendor = true;
cargoHash = "sha256-xg37aypFKY0ZG9GOkygTHlOAjqkTuhLNKo8Fz6MF2ZY=";
@@ -52,13 +32,29 @@ rustPlatform.buildRustPackage rec {
--fish ./yazi-boot/completions/yazi.fish \
--zsh ./yazi-boot/completions/_yazi
installManPage ../${man_src.name}/yazi{.1,-config.5}
installManPage ../${finalAttrs.passthru.srcs.man_src.name}/yazi{.1,-config.5}
install -Dm444 assets/yazi.desktop -t $out/share/applications
install -Dm444 assets/logo.png $out/share/pixmaps/yazi.png
'';
passthru.updateScript.command = [ ./update.sh ];
passthru.srcs = {
code_src = fetchFromGitHub {
owner = "sxyazi";
repo = "yazi";
tag = "v${finalAttrs.version}";
hash = "sha256-DqhqpQRCSBTGonL9+bP7pA3mO2CemlbhwzShVdrL1/0=";
};
man_src = fetchFromGitHub {
name = "manpages"; # needed to ensure name is unique
owner = "yazi-rs";
repo = "manpages";
rev = "8950e968f4a1ad0b83d5836ec54a070855068dbf";
hash = "sha256-kEVXejDg4ChFoMNBvKlwdFEyUuTcY2VuK9j0PdafKus=";
};
};
meta = {
description = "Blazing fast terminal file manager written in Rust, based on async I/O";
@@ -74,4 +70,4 @@ rustPlatform.buildRustPackage rec {
];
mainProgram = "yazi";
};
}
})

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p bash nix-update curl coreutils jq common-updater-scripts nix-prefetch
#!nix-shell -i bash -p bash nix-update curl coreutils jq common-updater-scripts gawk
set -eux
@@ -26,16 +26,27 @@ if [[ "$oldVersion" == "$latestVersion" ]]; then
exit 0
fi
echo "Updating Yazi"
echo "Updating code sources"
# Version
update-source-version yazi-unwrapped "${latestVersion}"
update-source-version yazi-unwrapped "${latestVersion}" --source-key=passthru.srcs.code_src
pushd "$SCRIPT_DIR"
# Build date
echo "Updating build date"
sed -i 's#env.VERGEN_BUILD_DATE = "[^"]*"#env.VERGEN_BUILD_DATE = "'"${latestBuildDate}"'"#' package.nix
# Hashes
cargoHash=$(nix-prefetch "{ sha256 }: (import $NIXPKGS_DIR {}).yazi-unwrapped.cargoDeps.overrideAttrs (_: { outputHash = sha256; })")
sed -i -E 's#\bcargoHash = ".*?"#cargoHash = "'"$cargoHash"'"#' package.nix
echo "Updating cargoHash"
# Set cargoHash to an empty string
sed -i -E 's/cargoHash = ".*?"/cargoHash = ""/' package.nix
# Build and get new hash
cargoHash=$( (nix-build "$NIXPKGS_DIR" -A yazi-unwrapped 2>&1 || true) | awk '/got/{print $2}')
if [ "$cargoHash" == "" ]; then
echo "Failed to get cargoHash, please update it manually"
exit 0
fi
sed -i -E 's/cargoHash = ".*?"/cargoHash = "'"$cargoHash"'"/' package.nix
popd

View File

@@ -5,6 +5,6 @@
# Example: nix-shell ./maintainers/scripts/update.nix --argstr package cacert
import ./generic.nix {
version = "3.108";
hash = "sha256-L2XRj3D8SsS2QYQFDLwGtaPoZ7tN4kz8hGdVKefFSu8=";
version = "3.109";
hash = "sha256-hvTDvltqhX7oXtoFTk8EHRFCU5YgObNXoRMbEe1DV1I=";
}

View File

@@ -6,13 +6,13 @@
qtModule rec {
pname = "qtmqtt";
version = "6.8.1";
version = "6.8.2";
src = fetchFromGitHub {
owner = "qt";
repo = "qtmqtt";
rev = "v${version}";
hash = "sha256-PmIs+06DjPTbVTNfnl4N/F6sL7qa/X58AvbyCxltAMw=";
tag = "v${version}";
hash = "sha256-SIvowzbDmoT06g6pcEbcRy7dXXx6N9jKhkuSr3Ej5P0=";
};
propagatedBuildInputs = [ qtbase ];

View File

@@ -11,7 +11,7 @@
# runtime
ffmpeg-headless,
# propagates
# dependencies
more-itertools,
numba,
numpy,
@@ -23,6 +23,7 @@
# tests
pytestCheckHook,
scipy,
writableTmpDirAsHomeHook,
}:
buildPythonPackage rec {
@@ -54,30 +55,33 @@ buildPythonPackage rec {
tqdm
] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform triton) [ triton ];
preCheck = ''
export HOME=$TMPDIR
'';
nativeCheckInputs = [
pytestCheckHook
scipy
writableTmpDirAsHomeHook
];
disabledTests = [
# requires network access to download models
"test_transcribe"
# requires NVIDIA drivers
"test_dtw_cuda_equivalence"
"test_median_filter_equivalence"
];
disabledTests =
[
# requires network access to download models
"test_transcribe"
meta = with lib; {
# requires NVIDIA drivers
"test_dtw_cuda_equivalence"
"test_median_filter_equivalence"
]
++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [
# Fatal Python error: Segmentation fault
"test_dtw"
];
meta = {
changelog = "https://github.com/openai/whisper/blob/v${version}/CHANGELOG.md";
description = "General-purpose speech recognition model";
mainProgram = "whisper";
homepage = "https://github.com/openai/whisper";
license = licenses.mit;
maintainers = with maintainers; [
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
hexa
MayNiklas
];

View File

@@ -0,0 +1,48 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
octodns,
pytestCheckHook,
pythonOlder,
requests,
requests-mock,
setuptools,
}:
buildPythonPackage rec {
pname = "octodns-cloudflare";
version = "0.0.9";
pyproject = true;
src = fetchFromGitHub {
owner = "octodns";
repo = "octodns-cloudflare";
tag = "v${version}";
hash = "sha256-VHmi/ClCZCruz0wSSZC81nhN7i31vK29TsYzyrRJNTY=";
};
build-system = [
setuptools
];
dependencies = [
octodns
requests
];
pythonImportsCheck = [ "octodns_cloudflare" ];
nativeCheckInputs = [
pytestCheckHook
requests-mock
];
meta = {
description = "Cloudflare API provider for octoDNS";
homepage = "https://github.com/octodns/octodns-cloudflare/";
changelog = "https://github.com/octodns/octodns-cloudflare/blob/${version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ret2pop ];
};
}

View File

@@ -11,17 +11,17 @@
rustPlatform.buildRustPackage rec {
pname = "rustscan";
version = "2.3.0";
version = "2.4.1";
src = fetchFromGitHub {
owner = "RustScan";
repo = "RustScan";
tag = version;
hash = "sha256-6heC/bHo4IqKNvPjch7AiyWTCZDCv4MZHC7DTEX3U5c=";
hash = "sha256-+qPSeDpOeCq+KwZb5ANXx6z+pYbgdT1hVgcrSzxyGp0=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-M3Nm1eWWofcxHcadx3cxxORWKyiOPZHVzTwY2YIAfiE=";
cargoHash = "sha256-cUuInYCT2jzen9gswfFGtKum6w2X/SiKA2ccdmxk38A=";
postPatch = ''
substituteInPlace src/scripts/mod.rs \

View File

@@ -369,6 +369,7 @@ with pkgs;
gandi = python3Packages.callPackage ../tools/networking/octodns/providers/gandi { };
hetzner = python3Packages.callPackage ../tools/networking/octodns/providers/hetzner { };
powerdns = python3Packages.callPackage ../tools/networking/octodns/providers/powerdns { };
cloudflare = python3Packages.callPackage ../tools/networking/octodns/providers/cloudflare { };
};
oletools = with python3.pkgs; toPythonApplication oletools;