Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2024-01-30 00:02:29 +00:00 committed by GitHub
commit 93a73aa6cf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
45 changed files with 645 additions and 130 deletions

View File

@ -35,10 +35,6 @@ jobs:
pairs:
- from: master
into: haskell-updates
- from: release-23.05
into: staging-next-23.05
- from: staging-next-23.05
into: staging-23.05
- from: release-23.11
into: staging-next-23.11
- from: staging-next-23.11

View File

@ -29,7 +29,7 @@ stdenv.mkDerivation {
mkdir -p "$out"
cat > "$out/index.md" << 'EOF'
```{=include=} sections
```{=include=} sections auto-id-prefix=auto-generated
EOF
${lib.concatMapStrings ({ name, baseName ? name, description }: ''

View File

@ -189,7 +189,7 @@ in {
they take effect as soon as the oldest release reaches end of life. */
oldestSupportedRelease =
# Update on master only. Do not backport.
2305;
2311;
/* Whether a feature is supported in all supported releases (at the time of
release branch-off, if applicable). See `oldestSupportedRelease`. */

View File

@ -1904,6 +1904,12 @@
githubId = 1217745;
name = "Aldwin Vlasblom";
};
averagebit = {
email = "averagebit@pm.me";
github = "averagebit";
githubId = 97070581;
name = "averagebit";
};
averelld = {
email = "averell+nixos@rxd4.com";
github = "averelld";

View File

@ -0,0 +1,36 @@
{ config, lib, pkgs, ... }:
let
cfg = config.programs.nautilus-open-any-terminal;
in
{
options.programs.nautilus-open-any-terminal = {
enable = lib.mkEnableOption (lib.mdDoc "nautilus-open-any-terminal");
terminal = lib.mkOption {
type = with lib.types; nullOr str;
default = null;
description = lib.mdDoc ''
The terminal emulator to add to context-entry of nautilus. Supported terminal
emulators are listed in https://github.com/Stunkymonkey/nautilus-open-any-terminal#supported-terminal-emulators.
'';
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
gnome.nautilus-python
nautilus-open-any-terminal
];
programs.dconf = lib.optionalAttrs (cfg.terminal != null) {
enable = true;
profiles.user.databases = [{
settings."com/github/stunkymonkey/nautilus-open-any-terminal".terminal = cfg.terminal;
lockAll = true;
}];
};
};
meta = {
maintainers = with lib.maintainers; [ stunkymonkey linsui ];
};
}

View File

@ -1,8 +1,8 @@
{ options, config, lib, pkgs, ... }:
{ config, lib, pkgs, ... }:
let
inherit (lib) any attrValues concatMapStringsSep concatStrings
concatStringsSep flatten imap1 isList literalExpression mapAttrsToList
inherit (lib) attrValues concatMapStringsSep concatStrings
concatStringsSep flatten imap1 literalExpression mapAttrsToList
mkEnableOption mkIf mkOption mkRemovedOptionModule optional optionalAttrs
optionalString singleton types mkRenamedOptionModule nameValuePair
mapAttrs' listToAttrs filter;
@ -14,7 +14,7 @@ let
baseDir = "/run/dovecot2";
stateDir = "/var/lib/dovecot";
sieveScriptSettings = mapAttrs' (to: from: nameValuePair "sieve_${to}" "${stateDir}/sieve/${from}") cfg.sieve.scripts;
sieveScriptSettings = mapAttrs' (to: _: nameValuePair "sieve_${to}" "${stateDir}/sieve/${to}") cfg.sieve.scripts;
imapSieveMailboxSettings = listToAttrs (flatten (imap1 (idx: el:
singleton {
name = "imapsieve_mailbox${toString idx}_name";

View File

@ -103,17 +103,18 @@ in {
config = mkIf cfg.enable {
warnings = []
++ optional (cfg.settings.update_manager.enable_system_updates or false)
''Enabling update_manager is not supported on NixOS and will lead to non-removable warnings in some clients.''
++ optional (cfg.configDir != null)
''
services.moonraker.configDir has been deprecated upstream and will be removed.
++ (optional (head (cfg.settings.update_manager.enable_system_updates or [false])) ''
Enabling system updates is not supported on NixOS and will lead to non-removable warnings in some clients.
'')
++ (optional (cfg.configDir != null) ''
services.moonraker.configDir has been deprecated upstream and will be removed.
Action: ${
if cfg.configDir == unifiedConfigDir then "Simply remove services.moonraker.configDir from your config."
else "Move files from `${cfg.configDir}` to `${unifiedConfigDir}` then remove services.moonraker.configDir from your config."
}
'';
Action: ${
if cfg.configDir == unifiedConfigDir
then "Simply remove services.moonraker.configDir from your config."
else "Move files from `${cfg.configDir}` to `${unifiedConfigDir}` then remove services.moonraker.configDir from your config."
}
'');
assertions = [
{

View File

@ -11,7 +11,7 @@ let
mkListen = kind: addr: let
al_v4 = builtins.match "([0-9.]+):([0-9]+)($)" addr;
al_v6 = builtins.match "\\[(.+)]:([0-9]+)(%.*|$)" addr;
al_portOnly = builtins.match "([0-9]+)" addr;
al_portOnly = builtins.match "(^)([0-9]+)" addr;
al = findFirst (a: a != null)
(throw "services.kresd.*: incorrect address specification '${addr}'")
[ al_v4 al_v6 al_portOnly ];

View File

@ -1,5 +1,5 @@
{ stdenv, lib, fetchFromGitHub, fetchgit, python3, gn, ninja
, fontconfig, expat, icu58, libglvnd, libjpeg, libpng, libwebp, zlib
, fontconfig, expat, icu, libglvnd, libjpeg, libpng, libwebp, zlib
, mesa, libX11, harfbuzzFull
}:
@ -22,7 +22,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ python3 gn ninja ];
buildInputs = [
fontconfig expat icu58 libglvnd libjpeg libpng libwebp zlib
fontconfig expat icu libglvnd libjpeg libpng libwebp zlib
mesa libX11 harfbuzzFull
];

View File

@ -31,6 +31,8 @@ stdenv.mkDerivation rec {
--prefix PATH ":" "${gnome.zenity}/bin"
'';
env.CXXFLAGS = "-include cstdint";
meta = with lib; {
description = "A high dynamic range (HDR) image comparison tool";
longDescription = ''

View File

@ -8,19 +8,18 @@
, makeDesktopItem
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "stretchly";
version = "1.8.1";
version = "1.15.1";
src = fetchurl {
url = "https://github.com/hovancik/stretchly/releases/download/v${version}/stretchly-${version}.tar.xz";
sha256 = "sha256-/v74vDGxD5iiOPeBXPAaV42JpyBjeJSO/Lk88pCkDng=";
url = "https://github.com/hovancik/stretchly/releases/download/v${finalAttrs.version}/stretchly-${finalAttrs.version}.tar.xz";
hash = "sha256-suTH6o7vtUr2DidPXAwqrya5/WukQOFmS/34LaiWDBs=";
};
icon = fetchurl {
url = "https://raw.githubusercontent.com/hovancik/stretchly/v${version}/stretchly_128x128.png";
sha256 = "0whfg1fy2hjyk1lzpryikc1aj8agsjhfrb0bf7ggl6r9m8s1rvdl";
url = "https://raw.githubusercontent.com/hovancik/stretchly/v${finalAttrs.version}/stretchly_128x128.png";
hash = "sha256-tO0cNKopG/recQus7KDUTyGpApvR5/tpmF5C4V14DnI=";
};
nativeBuildInputs = [ makeWrapper ];
@ -28,14 +27,14 @@ stdenv.mkDerivation rec {
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/share/${pname}/
mv resources/app.asar* $out/share/${pname}/
mkdir -p $out/bin $out/share/${finalAttrs.pname}/
mv resources/app.asar* $out/share/${finalAttrs.pname}/
mkdir -p $out/share/applications
ln -s ${desktopItem}/share/applications/* $out/share/applications/
ln -s ${finalAttrs.desktopItem}/share/applications/* $out/share/applications/
makeWrapper ${electron}/bin/electron $out/bin/${pname} \
--add-flags $out/share/${pname}/app.asar
makeWrapper ${electron}/bin/electron $out/bin/${finalAttrs.pname} \
--add-flags $out/share/${finalAttrs.pname}/app.asar
runHook postInstall
'';
@ -54,9 +53,9 @@ stdenv.mkDerivation rec {
};
desktopItem = makeDesktopItem {
name = pname;
exec = pname;
icon = icon;
name = finalAttrs.pname;
exec = finalAttrs.pname;
icon = finalAttrs.icon;
desktopName = "Stretchly";
genericName = "Stretchly";
categories = [ "Utility" ];
@ -77,4 +76,4 @@ stdenv.mkDerivation rec {
maintainers = with maintainers; [ _1000101 ];
platforms = platforms.linux;
};
}
})

View File

@ -0,0 +1,137 @@
diff --git a/distrobox-create b/distrobox-create
index 64e9911..136659d 100755
--- a/distrobox-create
+++ b/distrobox-create
@@ -74,6 +74,10 @@ unshare_ipc=0
unshare_netns=0
unshare_process=0
unshare_devsys=0
+
+self_dir="$(dirname "$(realpath "$0")")"
+nix_config_file="$(realpath "${self_dir}/../share/distrobox/distrobox.conf")"
+
# Use cd + dirname + pwd so that we do not have relative paths in mount points
# We're not using "realpath" here so that symlinks are not resolved this way
# "realpath" would break situations like Nix or similar symlink based package
@@ -98,6 +102,7 @@ version="1.6.0.1"
# priority over system defaults
# leave priority to environment variables.
config_files="
+ $nix_config_file
/usr/share/distrobox/distrobox.conf
/usr/share/defaults/distrobox/distrobox.conf
/usr/etc/distrobox/distrobox.conf
diff --git a/distrobox-enter b/distrobox-enter
index 6d8998a..bb05437 100755
--- a/distrobox-enter
+++ b/distrobox-enter
@@ -75,10 +75,14 @@ skip_workdir=0
verbose=0
version="1.6.0.1"
+self_dir="$(dirname "$(realpath "$0")")"
+nix_config_file="$(realpath "${self_dir}/../share/distrobox/distrobox.conf")"
+
# Source configuration files, this is done in an hierarchy so local files have
# priority over system defaults
# leave priority to environment variables.
config_files="
+ $nix_config_file
/usr/share/distrobox/distrobox.conf
/usr/share/defaults/distrobox/distrobox.conf
/usr/etc/distrobox/distrobox.conf
diff --git a/distrobox-generate-entry b/distrobox-generate-entry
index 3243691..6a7910a 100755
--- a/distrobox-generate-entry
+++ b/distrobox-generate-entry
@@ -45,10 +45,14 @@ icon_default="${HOME}/.local/share/icons/terminal-distrobox-icon.svg"
verbose=0
version="1.6.0.1"
+self_dir="$(dirname "$(realpath "$0")")"
+nix_config_file="$(realpath "${self_dir}/../share/distrobox/distrobox.conf")"
+
# Source configuration files, this is done in an hierarchy so local files have
# priority over system defaults
# leave priority to environment variables.
config_files="
+ $nix_config_file
/usr/share/distrobox/distrobox.conf
/usr/share/defaults/distrobox/distrobox.conf
/usr/etc/distrobox/distrobox.conf
diff --git a/distrobox-list b/distrobox-list
index aaec85e..235e529 100755
--- a/distrobox-list
+++ b/distrobox-list
@@ -44,10 +44,14 @@ verbose=0
version="1.6.0.1"
container_manager="autodetect"
+self_dir="$(dirname "$(realpath "$0")")"
+nix_config_file="$(realpath "${self_dir}/../share/distrobox/distrobox.conf")"
+
# Source configuration files, this is done in an hierarchy so local files have
# priority over system defaults
# leave priority to environment variables.
config_files="
+ $nix_config_file
/usr/share/distrobox/distrobox.conf
/usr/share/defaults/distrobox/distrobox.conf
/usr/etc/distrobox/distrobox.conf
diff --git a/distrobox-rm b/distrobox-rm
index 702c1dd..2e37538 100755
--- a/distrobox-rm
+++ b/distrobox-rm
@@ -54,10 +54,14 @@ rm_home=0
response_rm_home="N"
version="1.6.0.1"
+self_dir="$(dirname "$(realpath "$0")")"
+nix_config_file="$(realpath "${self_dir}/../share/distrobox/distrobox.conf")"
+
# Source configuration files, this is done in an hierarchy so local files have
# priority over system defaults
# leave priority to environment variables.
config_files="
+ $nix_config_file
/usr/share/distrobox/distrobox.conf
/usr/share/defaults/distrobox/distrobox.conf
/usr/etc/distrobox/distrobox.conf
diff --git a/distrobox-stop b/distrobox-stop
index fd17cc1..e0dbc8f 100755
--- a/distrobox-stop
+++ b/distrobox-stop
@@ -52,10 +52,14 @@ non_interactive=0
verbose=0
version="1.6.0.1"
+self_dir="$(dirname "$(realpath "$0")")"
+nix_config_file="$(realpath "${self_dir}/../share/distrobox/distrobox.conf")"
+
# Source configuration files, this is done in an hierarchy so local files have
# priority over system defaults
# leave priority to environment variables.
config_files="
+ $nix_config_file
/usr/share/distrobox/distrobox.conf
/usr/share/defaults/distrobox/distrobox.conf
/usr/etc/distrobox/distrobox.conf
diff --git a/distrobox-upgrade b/distrobox-upgrade
index ab5e96f..dc8d295 100755
--- a/distrobox-upgrade
+++ b/distrobox-upgrade
@@ -39,10 +39,14 @@ rootful=0
verbose=0
version="1.6.0.1"
+self_dir="$(dirname "$(realpath "$0")")"
+nix_config_file="$(realpath "${self_dir}/../share/distrobox/distrobox.conf")"
+
# Source configuration files, this is done in an hierarchy so local files have
# priority over system defaults
# leave priority to environment variables.
config_files="
+ $nix_config_file
/usr/share/distrobox/distrobox.conf
/usr/share/defaults/distrobox/distrobox.conf
/usr/etc/distrobox/distrobox.conf

View File

@ -2,19 +2,23 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "distrobox";
version = "1.5.0.2";
version = "1.6.0.1";
src = fetchFromGitHub {
owner = "89luca89";
repo = finalAttrs.pname;
repo = "distrobox";
rev = finalAttrs.version;
hash = "sha256-ss8049D6n1V/gDzEMjywDnoke5s2we9j3mO8yta72UA=";
hash = "sha256-UWrXpb20IHcwadPpwbhSjvOP1MBXic5ay+nP+OEVQE4=";
};
dontConfigure = true;
dontBuild = true;
nativeBuildInputs = [ makeWrapper ];
# https://github.com/89luca89/distrobox/pull/1080
patches = [ ./always-mount-nix.patch ];
installPhase = ''
runHook preInstall
@ -30,6 +34,9 @@ stdenvNoCC.mkDerivation (finalAttrs: {
postFixup = ''
wrapProgram "$out/bin/distrobox-generate-entry" \
--prefix PATH ":" ${lib.makeBinPath [ wget ]}
mkdir -p $out/share/distrobox
echo 'container_additional_volumes="/nix:/nix"' > $out/share/distrobox/distrobox.conf
'';
meta = with lib; {
@ -39,7 +46,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
forward compatibility with software and freedom to use whatever distribution
youre more comfortable with
'';
homepage = "https://distrobox.privatedns.org/";
homepage = "https://distrobox.it/";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = with maintainers; [ atila ];

View File

@ -23,6 +23,11 @@ python3.pkgs.buildPythonApplication rec {
url = "https://github.com/virt-manager/virt-manager/commit/6e5c1db6b4a0af96afeb09a09fb2fc2b73308f01.patch";
hash = "sha256-zivVo6nHvfB7aHadOouQZCBXn5rY12nxFjQ4FFwjgZI=";
})
# fix test with libvirt 10
(fetchpatch {
url = "https://github.com/virt-manager/virt-manager/commit/83fcc5b2e8f2cede84564387756fe8971de72188.patch";
hash = "sha256-yEk+md5EkwYpP27u3E+oTJ8thgtH2Uy1x3JIWPBhqeE=";
})
];
nativeBuildInputs = [

View File

@ -0,0 +1,51 @@
{ lib
, buildGoModule
, fetchFromGitHub
, makeWrapper
, amass
, alterx
, oam-tools
, subfinder
}:
buildGoModule rec {
pname = "easyeasm";
version = "1.0.6";
src = fetchFromGitHub {
owner = "g0ldencybersec";
repo = "EasyEASM";
rev = "refs/tags/v${version}";
hash = "sha256-/PhoH+5k63rJL1N3V3IL1TP1oacsBfGfVw/OueN9j8M=";
};
vendorHash = "sha256-g+yaVIx4jxpAQ/+WrGKxhVeliYx7nLQe/zsGpxV4Fn4=";
nativeBuildInputs = [
makeWrapper
];
ldflags = [
"-s"
"-w"
];
postFixup = ''
wrapProgram $out/bin/easyeasm \
--prefix PATH : "${lib.makeBinPath [
amass
alterx
oam-tools
subfinder
]}"
'';
meta = with lib; {
description = "Attack surface management tool";
homepage = "https://github.com/g0ldencybersec/EasyEASM";
changelog = "https://github.com/g0ldencybersec/EasyEASM/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
mainProgram = "easyeasm";
};
}

View File

@ -0,0 +1,30 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "oam-tools";
version = "0.1.2";
src = fetchFromGitHub {
owner = "owasp-amass";
repo = "oam-tools";
rev = "refs/tags/v${version}";
hash = "sha256-vt4V8em8Iaz3BVKIqlcAv+VIpJtD58xb3QrkIr4tYuU=";
};
vendorHash = "sha256-yFKYZlA06yE48Wiz0cKgD57JEREwYyYkLM1NZPV8+Xc=";
ldflags = [
"-s"
"-w"
];
meta = with lib; {
description = "Analysis and management tools for an Open Asset Model database";
homepage = "https://github.com/owasp-amass/oam-tools";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};
}

View File

@ -0,0 +1,28 @@
{ lib
, fetchFromGitHub
, buildGoPackage
}:
buildGoPackage rec {
pname = "qsreplace";
version = "0.0.3";
goPackagePath = "github.com/tomnomnom/qsreplace";
src = fetchFromGitHub {
owner = "tomnomnom";
repo = "qsreplace";
rev = "v${version}";
hash = "sha256-j9bqO2gp4RUxZHGBCIxI5nA3nD1dG4nCpJ1i4TM/fbo=";
};
meta = with lib; {
homepage = "https://github.com/tomnomnom/qsreplace";
description = "Accept URLs on stdin, replace all query string values with a user-supplied value";
mainProgram = "qsreplace";
maintainers = with maintainers; [ averagebit ];
platforms = platforms.unix;
sourceProvenance = with sourceTypes; [ fromSource ];
license = licenses.mit;
};
}

View File

@ -1,4 +1,5 @@
{ alsa-lib
{ lib
, alsa-lib
, aubio
, cmake
, dssi
@ -15,33 +16,32 @@
, libvorbis
, lilv
, lv2
, mkDerivation
, opusfile
, pkg-config
, qttools
, qtbase
, qt6
, rubberband
, serd
, stdenv
, sord
, sratom
, lib
, suil
}:
mkDerivation rec {
stdenv.mkDerivation rec {
pname = "qtractor";
version = "0.9.25";
version = "0.9.38";
src = fetchurl {
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
sha256 = "sha256-cKXHH7rugTJ5D7MDJmr/fX6p209wyGMQvSLbv5T0KXU=";
url = "mirror://sourceforge/qtractor/qtractor-${version}.tar.gz";
hash = "sha256-aAUOz9gztk9ynQYRq+mniUk++rM6Rdne9U1QM7jKPcU=";
};
nativeBuildInputs = [
cmake
libtool
pkg-config
qttools
qt6.qttools
qt6.wrapQtAppsHook
];
buildInputs = [
@ -61,7 +61,8 @@ mkDerivation rec {
lilv
lv2
opusfile
qtbase
qt6.qtbase
qt6.qtsvg
rubberband
serd
sord
@ -73,6 +74,7 @@ mkDerivation rec {
description = "Audio/MIDI multi-track sequencer";
homepage = "https://qtractor.sourceforge.io";
license = licenses.gpl2Plus;
mainProgram = "qtractor";
maintainers = with maintainers; [ goibhniu ];
platforms = platforms.linux;
};

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "yggdrasil";
version = "0.5.4";
version = "0.5.5";
src = fetchFromGitHub {
owner = "yggdrasil-network";
repo = "yggdrasil-go";
rev = "v${version}";
sha256 = "sha256-or+XTt8V/1BuLSJ53w1aKqJfx3Pka6VmC4TpvpP83+0=";
sha256 = "sha256-ZInSgHjur2C+G6h/VcYtlCt0YLWwMIrz84UkDBbR73s=";
};
vendorHash = "sha256-K7VJ+1x7+DgdwTjEgZ7sJ7SaCssBg+ukQupJ/1FN4F0=";
vendorHash = "sha256-Ar0mWVFgLP1eYeKalaazZLKaLMXoe2bOGYkruzaKW88=";
subPackages = [ "cmd/genkeys" "cmd/yggdrasil" "cmd/yggdrasilctl" ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "cmark";
version = "0.30.3";
version = "0.31.0";
src = fetchFromGitHub {
owner = "commonmark";
repo = pname;
rev = version;
sha256 = "sha256-/7TzaZYP8lndkfRPgCpBbazUBytVLXxqWHYktIsGox0=";
sha256 = "sha256-GBesKTp9DqoFAmCc0RB+XePvzV9g+w+oyrD1nCgyklI=";
};
nativeBuildInputs = [ cmake ];

View File

@ -114,13 +114,13 @@ stdenv.mkDerivation rec {
# NOTE: You must also bump:
# <nixpkgs/pkgs/development/python-modules/libvirt/default.nix>
# SysVirt in <nixpkgs/pkgs/top-level/perl-packages.nix>
version = "9.10.0";
version = "10.0.0";
src = fetchFromGitLab {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "sha256-SYk3aseaVD31rnGKj/7eoLldGbOdJfKMw4tVDjtjcwY=";
hash = "sha256-xFl8AHcbeuydWzhJNnwZ3Bd7TQiTU8hjBxaALXvcLgE=";
fetchSubmodules = true;
};

View File

@ -1,29 +1,34 @@
{ lib
, aio-geojson-client
, aiohttp
, aresponses
, aioresponses
, buildPythonPackage
, fetchFromGitHub
, pytest-asyncio
, pytestCheckHook
, pytz
, pythonOlder
, setuptools
}:
buildPythonPackage rec {
pname = "aio-geojson-geonetnz-quakes";
version = "0.15";
format = "setuptools";
version = "0.16";
pyproject = true;
disabled = pythonOlder "3.7";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "exxamalte";
repo = "python-aio-geojson-geonetnz-quakes";
rev = "refs/tags/v${version}";
hash = "sha256-/EPPEGLtiZBorZMnVg0NqwnHCbCXyZzz4449MzAYQx8=";
hash = "sha256-8OpmA3yHjUY+N5Obri4RWeuJiW916xGSWUYUgdpmjkw=";
};
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
aio-geojson-client
aiohttp
@ -33,7 +38,7 @@ buildPythonPackage rec {
__darwinAllowLocalNetworking = true;
nativeCheckInputs = [
aresponses
aioresponses
pytest-asyncio
pytestCheckHook
];

View File

@ -1,29 +1,34 @@
{ lib
, aio-geojson-client
, aiohttp
, aresponses
, aioresponses
, buildPythonPackage
, fetchFromGitHub
, pytest-asyncio
, pytestCheckHook
, pytz
, pythonOlder
, setuptools
}:
buildPythonPackage rec {
pname = "aio-geojson-usgs-earthquakes";
version = "0.2";
format = "setuptools";
version = "0.3";
pyproject = true;
disabled = pythonOlder "3.7";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "exxamalte";
repo = "python-aio-geojson-usgs-earthquakes";
rev = "refs/tags/v${version}";
hash = "sha256-ET8wcOep4tSZJXyL+XvfW2j9eKp6LrBk/g18ZlgLIzc=";
hash = "sha256-Q9vBy5R5N5ihJdSMALo88qVYcFVs2/33lYRPdLej4S8=";
};
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
aio-geojson-client
aiohttp
@ -37,7 +42,7 @@ buildPythonPackage rec {
];
checkInputs = [
aresponses
aioresponses
pytest-asyncio
];

View File

@ -40,6 +40,7 @@ buildPythonPackage rec {
description = "A tool that automatically formats Python code to conform to the PEP 8 style guide";
homepage = "https://github.com/hhatto/autopep8";
license = licenses.mit;
mainProgram = "autopep8";
maintainers = with maintainers; [ bjornfor ];
};
}

View File

@ -0,0 +1,78 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, gnupg
, keyring
, pass
, poetry-core
, pythonOlder
}:
buildPythonPackage rec {
pname = "keyring-pass";
version = "0.9.2";
disabled = pythonOlder "3.6";
pyproject = true;
src = fetchFromGitHub {
owner = "nazarewk";
repo = "keyring_pass";
rev = "refs/tags/v${version}";
hash = "sha256-Sf7eDOB3prH2s6BzdBtxewSweC0ibLXVxNHBJRRaJe4=";
};
postPatch = ''
substituteInPlace keyring_pass/__init__.py \
--replace 'pass_binary = "pass"' 'pass_binary = "${lib.getExe pass}"'
'';
nativeBuildInputs = [
poetry-core
];
nativeCheckInputs = [
keyring
gnupg
];
checkPhase = ''
export HOME="$TMPDIR"
# generate temporary GPG identity
cat <<EOF | gpg --gen-key --batch /dev/stdin
%no-protection
%transient-key
Key-Type: 1
Key-Length: 1024
Subkey-Type: 1
Subkey-Length: 1024
Name-Real: test
Name-Email: test@example.com
Expire-Date: 1
EOF
# configure password store
${lib.getExe pass} init test@example.com
# Configure `keyring` CLI
# first make sure `keyring-pass` is in "$PYTHONPATH"
[[ "$PYTHONPATH" == *"$out"/lib/python*/site-packages* ]]
export PYTHON_KEYRING_BACKEND="keyring_pass.PasswordStoreBackend"
# confirm set/get/del works
keyring set test-service test-username <<<"test-password"
test "$(keyring get test-service test-username)" == "test-password"
keyring del test-service test-username
'';
pythonImportsCheck = [
"keyring_pass"
];
meta = {
description = "Password Store (pass) backend for python's keyring";
homepage = "https://github.com/nazarewk/keyring_pass";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.nazarewk ];
};
}

View File

@ -2,14 +2,14 @@
buildPythonPackage rec {
pname = "libvirt";
version = "9.10.0";
version = "10.0.0";
format = "setuptools";
src = fetchFromGitLab {
owner = "libvirt";
repo = "libvirt-python";
rev = "v${version}";
hash = "sha256-7qJieTLPzyHvhOLUsti4Mbt94iba2eTZd6OvPn3uLEA=";
hash = "sha256-zl1Hfm7flRflNjIpLoLAlPDysYlieC05HEd/mzFW8pU=";
};
nativeBuildInputs = [ pkg-config ];

View File

@ -15,7 +15,7 @@
, httpx
}:
let
version = "1.19.0";
version = "1.20.1";
in
buildPythonPackage rec {
pname = "litellm";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "BerriAI";
repo = "litellm";
rev = "refs/tags/v${version}";
hash = "sha256-cHGLOcOC9G6FlJfyrf+owURfGtn/gCAJuhSPt9lJS0o=";
hash = "sha256-8CqYONNa6STq9GPkf2VIkZgbPorLxnIxmzEAFBaw2sM=";
};
postPatch = ''

View File

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "pygls";
version = "1.2.1";
version = "1.3.0";
pyproject = true;
disabled = pythonOlder "3.7";
@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "openlawlibrary";
repo = "pygls";
rev = "refs/tags/v${version}";
hash = "sha256-ARez9fs50kScfMp/W/aFIOcJonpFrcfyrzJuVwou7fk=";
hash = "sha256-6+SMlBTi+jw+bAUYqbaxXT5QygZFj4FeeEp6bch8M1s=";
};
pythonRelaxDeps = [

View File

@ -1,13 +0,0 @@
diff --git a/tests/test_kdtree.py b/tests/test_kdtree.py
index 0110083..049fa07 100644
--- a/tests/test_kdtree.py
+++ b/tests/test_kdtree.py
@@ -23,7 +23,7 @@ def run_kdtree():
tree = cKDTree(data_points)
- distances2, indices2 = tree.query(query_points, k=k, n_jobs=-1)
+ distances2, indices2 = tree.query(query_points, k=k)
t2 = time.perf_counter()

View File

@ -4,14 +4,15 @@
, numba
, numpy
, pillow
, scipy
, pytestCheckHook
,
, scipy
, setuptools
}:
buildPythonPackage rec {
pname = "pymatting";
version = "1.1.10";
format = "setuptools";
pyproject = true;
src = fetchFromGitHub {
owner = "pymatting";
@ -20,7 +21,9 @@ buildPythonPackage rec {
hash = "sha256-wHCTqcBvVN/pTXH3iW57DPpMEsnehutRQB5NaugS6Zs=";
};
patches = [ ./01-kdtree-signature.patch ];
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
numba
@ -29,12 +32,14 @@ buildPythonPackage rec {
scipy
];
pythonImportsCheck = [ "pymatting" ];
nativeCheckInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"pymatting"
];
disabledTests = [
# no access to input data set
# see: https://github.com/pymatting/pymatting/blob/master/tests/download_images.py

View File

@ -129,6 +129,12 @@ let
nativeBuildInputs = [ autoconf automake gnum4 pkg-config which python3 ]
++ extraNativeBuildInputs;
postInstall = lib.optionalString (!dedicatedServer) ''
mkdir -p $out/share/{applications,icons/hicolor}
ln -s $out/share/games/armagetronad/desktop/armagetronad*.desktop $out/share/applications/
ln -s $out/share/games/armagetronad/desktop/icons $out/share/icons/hicolor
'';
doInstallCheck = true;
installCheckPhase = ''

View File

@ -1,10 +1,10 @@
{ lib, fetchurl, lilypond }:
lilypond.overrideAttrs (oldAttrs: rec {
version = "2.25.11";
version = "2.25.12";
src = fetchurl {
url = "https://lilypond.org/download/sources/v${lib.versions.majorMinor version}/lilypond-${version}.tar.gz";
hash = "sha256-DDvo1LBTnDVSDyRDYF0aEToFsmvW1dlTaMHdpBEOdMI=";
hash = "sha256-6zOa+mvXN1SQYgUimdxkYQ/Eh+iaCb+FeXe/dglbHmk=";
};
passthru.updateScript = {

View File

@ -18,23 +18,23 @@
buildGoModule rec {
pname = "navidrome";
version = "0.50.2";
version = "0.51.0";
src = fetchFromGitHub {
owner = "navidrome";
repo = "navidrome";
rev = "v${version}";
hash = "sha256-SZ9wVOHtmkrWfYGA0hNCXag2Yp17glOQpBsEQRK6Npg=";
hash = "sha256-AsDVU1J/lPjTY6R7khzorbBCWuL9FX6aZnMD2snBSys=";
};
vendorHash = "sha256-PKj2zJhGR1yETLZ4as35cuwil3vfyFKfkKF/32YdAt8=";
vendorHash = "sha256-Q95OchWkxd/EmG7Vu0e/dge9nOIrGmcTgjGL5dBvEKA=";
npmRoot = "ui";
npmDeps = fetchNpmDeps {
inherit src;
sourceRoot = "${src.name}/ui";
hash = "sha256-7wMMBJE3zSm+eCIaLBjt+Q0OWh3u0XpS0XHnaH17Xsc=";
hash = "sha256-LrLswdt6RA55FQE/YWHNwtjxljjlCNSTLWJNqy1ohKo=";
};
nativeBuildInputs = [

View File

@ -1,4 +1,4 @@
{
"rev": "842d9d80cfd4560648c785f8a4e6f3b096790e19",
"ci-path": "/nix/store/8habk3j25bs2a34zn5q5p17b9dl3fywg-nixpkgs-check-by-name"
"rev": "ae5c332cbb5827f6b1f02572496b141021de335f",
"ci-path": "/nix/store/ghfxriicygwcrxvm45r0cm9g0vshpw01-nixpkgs-check-by-name"
}

View File

@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p jq -I nixpkgs=../../../..
#!nix-shell -i bash -p jq
set -o pipefail -o errexit -o nounset

View File

@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p jq -I nixpkgs=../../../..
#!nix-shell -i bash -p jq
set -o pipefail -o errexit -o nounset

View File

@ -14,11 +14,11 @@
stdenv.mkDerivation rec {
pname = "ddcutil";
version = "2.0.0";
version = "2.1.2";
src = fetchurl {
url = "https://www.ddcutil.com/tarballs/ddcutil-${version}.tar.gz";
hash = "sha256-CunFRQHKk3q8CU60TSRnRoCW7+9X1+JpJHm773HhmZs=";
hash = "sha256-2SYH+8sEeCY55T8aNO3UJ8NN4g2dfzsv3DlTS2p22/s=";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];

View File

@ -2,19 +2,19 @@
rustPlatform.buildRustPackage rec {
pname = "xcp";
version = "0.16.0";
version = "0.18.1";
src = fetchFromGitHub {
owner = "tarka";
repo = pname;
rev = "v${version}";
sha256 = "sha256-JntFXpB72vZJHkyawFruLhz9rnR1fp+hoXEljzeV0Xo=";
sha256 = "sha256-uZnKrWD3a3TpdKplLxzCKacfpuoo3vrCZmFsePIxR18=";
};
# no such file or directory errors
doCheck = false;
cargoHash = "sha256-IUJbatLE97qtUnm/Ho6SS+yL7LRd7oEGiSsZF36Qe5I=";
cargoHash = "sha256-QaLNc05fI6V/5hbSfOL+uKnjkyxDclAmULx45z9gigs=";
meta = with lib; {
description = "An extended cp(1)";

View File

@ -111,5 +111,6 @@ buildGoModule rec {
description = "Connect your devices into a single secure private WireGuard®-based mesh network with SSO/MFA and simple access controls";
license = licenses.bsd3;
maintainers = with maintainers; [ misuzu ];
mainProgram = "netbird";
};
}

View File

@ -5,29 +5,29 @@
, pkg-config
, withNativeTls ? true
, stdenv
, Security
, darwin
, openssl
}:
rustPlatform.buildRustPackage rec {
pname = "xh";
version = "0.20.1";
version = "0.21.0";
src = fetchFromGitHub {
owner = "ducaale";
repo = "xh";
rev = "v${version}";
sha256 = "sha256-e3AGegW0V7JK6iLy0PaMwSeA9+2wSouzX5QIYUg8HCk=";
sha256 = "sha256-nsxXNlDycn7W7X+AthYCFQu8i2bEPQv7r2LCbc3gFrE=";
};
cargoSha256 = "sha256-JE8SKxc7fKlK637NCZnTKkbF4GNrrvJQ/2kGxK4WXpg=";
cargoHash = "sha256-THj8tE12P/K+t/R1xUxo042FIX6JP3riCvm2a8zVEzw=";
buildFeatures = lib.optional withNativeTls "native-tls";
nativeBuildInputs = [ installShellFiles pkg-config ];
buildInputs = lib.optionals withNativeTls
(if stdenv.isDarwin then [ Security ] else [ openssl ]);
(if stdenv.isDarwin then [ darwin.apple_sdk.frameworks.SystemConfiguration ] else [ openssl ]);
# Get openssl-sys to use pkg-config
OPENSSL_NO_VENDOR = 1;

View File

@ -8,7 +8,7 @@ import xml.sax.saxutils as xml
from abc import abstractmethod
from collections.abc import Mapping, Sequence
from pathlib import Path
from typing import Any, cast, ClassVar, Generic, get_args, NamedTuple
from typing import Any, Callable, cast, ClassVar, Generic, get_args, NamedTuple
from markdown_it.token import Token
@ -44,8 +44,40 @@ class BaseConverter(Converter[md.TR], Generic[md.TR]):
def _postprocess(self, infile: Path, outfile: Path, tokens: Sequence[Token]) -> None:
pass
def _parse(self, src: str) -> list[Token]:
def _handle_headings(self, tokens: list[Token], *, on_heading: Callable[[Token,str],None]) -> None:
# Headings in a globally numbered order
# h1 to h6
curr_heading_pos: list[int] = []
for token in tokens:
if token.type == "heading_open":
if token.tag not in ["h1", "h2", "h3", "h4", "h5", "h6"]:
raise RuntimeError(f"Got invalid heading tag {token.tag} in line {token.map[0] + 1 if token.map else 'NOT FOUND'}. Only h1 to h6 headings are allowed.")
idx = int(token.tag[1:]) - 1
if idx >= len(curr_heading_pos):
# extend the list if necessary
curr_heading_pos.extend([0 for _i in range(idx+1 - len(curr_heading_pos))])
curr_heading_pos = curr_heading_pos[:idx+1]
curr_heading_pos[-1] += 1
ident = ".".join(f"{a}" for a in curr_heading_pos)
on_heading(token,ident)
def _parse(self, src: str, *, auto_id_prefix: None | str = None) -> list[Token]:
tokens = super()._parse(src)
if auto_id_prefix:
def set_token_ident(token: Token, ident: str) -> None:
if "id" not in token.attrs:
token.attrs["id"] = f"{auto_id_prefix}-{ident}"
self._handle_headings(tokens, on_heading=set_token_ident)
check_structure(self._current_type[-1], tokens)
for token in tokens:
if not is_include(token):
@ -89,7 +121,12 @@ class BaseConverter(Converter[md.TR], Generic[md.TR]):
try:
self._base_paths.append(path)
with open(path, 'r') as f:
tokens = self._parse(f.read())
prefix = None
if "auto-id-prefix" in block_args:
# include the current file number to prevent duplicate ids within include blocks
prefix = f"{block_args.get('auto-id-prefix')}-{lnum}"
tokens = self._parse(f.read(), auto_id_prefix=prefix)
included.append((tokens, path))
self._base_paths.pop()
except Exception as e:
@ -554,8 +591,8 @@ class HTMLConverter(BaseConverter[ManualHTMLRenderer]):
infile.parent, outfile.parent)
super().convert(infile, outfile)
def _parse(self, src: str) -> list[Token]:
tokens = super()._parse(src)
def _parse(self, src: str, *, auto_id_prefix: None | str = None) -> list[Token]:
tokens = super()._parse(src,auto_id_prefix=auto_id_prefix)
for token in tokens:
if not token.type.startswith('included_') \
or not (into := token.meta['include-args'].get('into-file')):

View File

@ -0,0 +1,92 @@
from pathlib import Path
from markdown_it.token import Token
from nixos_render_docs.manual import HTMLConverter, HTMLParameters
from nixos_render_docs.md import Converter
auto_id_prefix="TEST_PREFIX"
def set_prefix(token: Token, ident: str) -> None:
token.attrs["id"] = f"{auto_id_prefix}-{ident}"
def test_auto_id_prefix_simple() -> None:
md = HTMLConverter("1.0.0", HTMLParameters("", [], [], 2, 2, 2, Path("")), {})
src = f"""
# title
## subtitle
"""
tokens = Converter()._parse(src)
md._handle_headings(tokens, on_heading=set_prefix)
assert [
{**token.attrs, "tag": token.tag}
for token in tokens
if token.type == "heading_open"
] == [
{"id": "TEST_PREFIX-1", "tag": "h1"},
{"id": "TEST_PREFIX-1.1", "tag": "h2"}
]
def test_auto_id_prefix_repeated() -> None:
md = HTMLConverter("1.0.0", HTMLParameters("", [], [], 2, 2, 2, Path("")), {})
src = f"""
# title
## subtitle
# title2
## subtitle2
"""
tokens = Converter()._parse(src)
md._handle_headings(tokens, on_heading=set_prefix)
assert [
{**token.attrs, "tag": token.tag}
for token in tokens
if token.type == "heading_open"
] == [
{"id": "TEST_PREFIX-1", "tag": "h1"},
{"id": "TEST_PREFIX-1.1", "tag": "h2"},
{"id": "TEST_PREFIX-2", "tag": "h1"},
{"id": "TEST_PREFIX-2.1", "tag": "h2"},
]
def test_auto_id_prefix_maximum_nested() -> None:
md = HTMLConverter("1.0.0", HTMLParameters("", [], [], 2, 2, 2, Path("")), {})
src = f"""
# h1
## h2
### h3
#### h4
##### h5
###### h6
## h2.2
"""
tokens = Converter()._parse(src)
md._handle_headings(tokens, on_heading=set_prefix)
assert [
{**token.attrs, "tag": token.tag}
for token in tokens
if token.type == "heading_open"
] == [
{"id": "TEST_PREFIX-1", "tag": "h1"},
{"id": "TEST_PREFIX-1.1", "tag": "h2"},
{"id": "TEST_PREFIX-1.1.1", "tag": "h3"},
{"id": "TEST_PREFIX-1.1.1.1", "tag": "h4"},
{"id": "TEST_PREFIX-1.1.1.1.1", "tag": "h5"},
{"id": "TEST_PREFIX-1.1.1.1.1.1", "tag": "h6"},
{"id": "TEST_PREFIX-1.2", "tag": "h2"},
]

View File

@ -32390,9 +32390,7 @@ with pkgs;
ht = callPackage ../applications/editors/ht { };
xh = callPackage ../tools/networking/xh {
inherit (darwin.apple_sdk.frameworks) Security;
};
xh = callPackage ../tools/networking/xh { };
hubstaff = callPackage ../applications/misc/hubstaff { };
@ -34867,8 +34865,6 @@ with pkgs;
qtpass = libsForQt5.callPackage ../applications/misc/qtpass { };
qtractor = libsForQt5.callPackage ../applications/audio/qtractor { };
quantomatic = callPackage ../applications/science/physics/quantomatic { };
quassel = libsForQt5.callPackage ../applications/networking/irc/quassel {

View File

@ -23927,12 +23927,12 @@ with self; {
SysVirt = buildPerlModule rec {
pname = "Sys-Virt";
version = "9.8.0";
version = "10.0.0";
src = fetchFromGitLab {
owner = "libvirt";
repo = "libvirt-perl";
rev = "v${version}";
hash = "sha256-xLrqD1fFbDYS4HH85vYCeaKZeNwXQpjPXfGpJCFumg8=";
hash = "sha256-FK2SaerA/GB0ZAg/QXG9Ig1Cvpg6v9lh1sKPjYU52M8=";
};
nativeBuildInputs = [ pkgs.pkg-config ];
buildInputs = [ pkgs.libvirt CPANChanges TestPod TestPodCoverage XMLXPath ];

View File

@ -6119,6 +6119,8 @@ self: super: with self; {
keyring = callPackage ../development/python-modules/keyring { };
keyring-pass = callPackage ../development/python-modules/keyring-pass { };
keyrings-cryptfile = callPackage ../development/python-modules/keyrings-cryptfile { };
keyrings-google-artifactregistry-auth = callPackage ../development/python-modules/keyrings-google-artifactregistry-auth { };