Merge master into staging-next
This commit is contained in:
@@ -421,6 +421,11 @@ Check that two paths have the same contents.
|
||||
|
||||
: A message that is printed last if the file system object contents at the two paths don't match exactly.
|
||||
|
||||
`checkMetadata` (boolean)
|
||||
|
||||
: Whether to fail on metadata differences, such as permissions or ownership.
|
||||
Defaults to `true`.
|
||||
|
||||
:::{.example #ex-testEqualContents-toyexample}
|
||||
|
||||
# Check that two paths have the same contents
|
||||
|
||||
@@ -116,7 +116,7 @@ in
|
||||
})
|
||||
]
|
||||
else
|
||||
previousAttrs.patches or null;
|
||||
previousAttrs.patches or [ ];
|
||||
preBuild =
|
||||
if applyOrgRoamMissingPatch then
|
||||
previousAttrs.preBuild or ""
|
||||
@@ -129,7 +129,7 @@ in
|
||||
popd
|
||||
''
|
||||
else
|
||||
previousAttrs.preBuild or null;
|
||||
previousAttrs.preBuild or "";
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ rec {
|
||||
if predicate finalAttrs previousAttrs then
|
||||
previousAttrs.packageRequires or [ ] ++ packageRequires
|
||||
else
|
||||
previousAttrs.packageRequires or null;
|
||||
previousAttrs.packageRequires or [ ];
|
||||
}
|
||||
);
|
||||
|
||||
@@ -89,7 +89,7 @@ rec {
|
||||
if predicate finalAttrs previousAttrs then
|
||||
previousAttrs.nativeBuildInputs or [ ] ++ [ pkgs.writableTmpDirAsHomeHook ]
|
||||
else
|
||||
previousAttrs.nativeBuildInputs or null;
|
||||
previousAttrs.nativeBuildInputs or [ ];
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -830,7 +830,7 @@ let
|
||||
rm --recursive --verbose etc/elisp/screenshot
|
||||
''
|
||||
else
|
||||
previousAttrs.preBuild or null;
|
||||
previousAttrs.preBuild or "";
|
||||
}
|
||||
);
|
||||
|
||||
@@ -897,7 +897,7 @@ let
|
||||
rm --verbose --force test-bpr.el
|
||||
''
|
||||
else
|
||||
previousAttrs;
|
||||
previousAttrs.preBuild or "";
|
||||
}
|
||||
);
|
||||
|
||||
@@ -991,7 +991,7 @@ let
|
||||
})
|
||||
]
|
||||
else
|
||||
previousAttrs.patches or null;
|
||||
previousAttrs.patches or [ ];
|
||||
}
|
||||
)
|
||||
);
|
||||
@@ -1055,7 +1055,7 @@ let
|
||||
''
|
||||
+ previousAttrs.preBuild or ""
|
||||
else
|
||||
previousAttrs.preBuild or null;
|
||||
previousAttrs.preBuild or "";
|
||||
}
|
||||
);
|
||||
|
||||
@@ -1221,7 +1221,7 @@ let
|
||||
rm --verbose packages/javascript/test-suppport.el
|
||||
''
|
||||
else
|
||||
previousAttrs.preBuild or null;
|
||||
previousAttrs.preBuild or "";
|
||||
}
|
||||
);
|
||||
|
||||
@@ -1392,7 +1392,7 @@ let
|
||||
})
|
||||
]
|
||||
else
|
||||
previousAttrs.patches or null;
|
||||
previousAttrs.patches or [ ];
|
||||
}
|
||||
);
|
||||
|
||||
@@ -1543,7 +1543,7 @@ let
|
||||
})
|
||||
]
|
||||
else
|
||||
previousAttrs.patches or null;
|
||||
previousAttrs.patches or [ ];
|
||||
}
|
||||
);
|
||||
|
||||
@@ -1561,7 +1561,7 @@ let
|
||||
''
|
||||
+ previousAttrs.preBuild or ""
|
||||
else
|
||||
previousAttrs.preBuild or null;
|
||||
previousAttrs.preBuild or "";
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@@ -12,12 +12,12 @@
|
||||
pkgs,
|
||||
}:
|
||||
let
|
||||
version = "0.0.27-unstable-2025-10-12";
|
||||
version = "0.0.27-unstable-2025-10-18";
|
||||
src = fetchFromGitHub {
|
||||
owner = "yetone";
|
||||
repo = "avante.nvim";
|
||||
rev = "f092bb3ec0acf87b838e082209b6a7eddcbf5940";
|
||||
hash = "sha256-zKDp9It/VgUD8BN5ktTmfbQX0s3SBo20T8no8nwsyfY=";
|
||||
rev = "cc7a41262e4dc38003b7578c3553a75c0ec4b8d2";
|
||||
hash = "sha256-L6fOo3OPfMtClmyGW1Bn7YDJtuTKO6F66D1oYsii5so=";
|
||||
};
|
||||
avante-nvim-lib = rustPlatform.buildRustPackage {
|
||||
pname = "avante-nvim-lib";
|
||||
|
||||
@@ -9,11 +9,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fetchmail";
|
||||
version = "6.5.6";
|
||||
version = "6.5.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/fetchmail/fetchmail-${version}.tar.xz";
|
||||
hash = "sha256-7BDg4OqkFzE1WTee3nbHRhR2bYOLOUcLZkdIY6ppDas=";
|
||||
hash = "sha256-c+trHUIbWYaGatSmt3fBFAo5AFKYxjv4R95TeXbL+9s=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
actual,
|
||||
expected,
|
||||
postFailureMessage ? null,
|
||||
checkMetadata ? true,
|
||||
}:
|
||||
runCommand "equal-contents-${lib.strings.toLower assertion}"
|
||||
{
|
||||
@@ -66,12 +67,13 @@
|
||||
expected
|
||||
postFailureMessage
|
||||
;
|
||||
excludeMetadata = if checkMetadata then "no" else "yes";
|
||||
nativeBuildInputs = [ diffoscopeMinimal ];
|
||||
}
|
||||
''
|
||||
echo "Checking:"
|
||||
printf '%s\n' "$assertion"
|
||||
if ! diffoscope --no-progress --text-color=always --exclude-directory-metadata=no -- "$actual" "$expected"
|
||||
if ! diffoscope --no-progress --text-color=always --exclude-directory-metadata="$excludeMetadata" -- "$actual" "$expected"
|
||||
then
|
||||
echo
|
||||
echo 'Contents must be equal, but were not!'
|
||||
|
||||
@@ -19,17 +19,17 @@
|
||||
|
||||
let
|
||||
deltachat-rpc-server' = deltachat-rpc-server.overrideAttrs rec {
|
||||
version = "2.20.0";
|
||||
version = "2.22.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "chatmail";
|
||||
repo = "core";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-QPKy88c/GLeazGCjNYHj5kOxwiuvjJ/+pM4SQ4TZ1sw=";
|
||||
hash = "sha256-DKqqdcG3C7/RF/wz2SqaiPUjZ/7vMFJTR5DIGTXjoTY=";
|
||||
};
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
pname = "chatmail-core";
|
||||
inherit version src;
|
||||
hash = "sha256-2Js4VQsXf1ApRq9Vf1xwX/1BXiFUQgykvofb2ykOdcc=";
|
||||
hash = "sha256-x71vytk9ytIhHlRR0lDhDcIaDNJGDdPwb6fkB1SI+NQ=";
|
||||
};
|
||||
};
|
||||
electron = electron_37;
|
||||
@@ -37,19 +37,19 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "deltachat-desktop";
|
||||
version = "2.20.0";
|
||||
version = "2.22.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "deltachat";
|
||||
repo = "deltachat-desktop";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-tzRk4IwMm3qDzQtGKezkiRbnNSF7EabMYMHXMrrDW8w=";
|
||||
hash = "sha256-IEYfdA1rGg452pZVWW/XuIsNffyhAlI9qyGwcnksgAs=";
|
||||
};
|
||||
|
||||
pnpmDeps = pnpm.fetchDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
fetcherVersion = 1;
|
||||
hash = "sha256-423I4ZXekDyqIY39hEUo7/hLthb3gjnvQHnVknZQFnI=";
|
||||
hash = "sha256-fEzp+nrfLakmtUsPef0HG6tZGn5/q+271YwVyBkFKJw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "files-cli";
|
||||
version = "2.15.111";
|
||||
version = "2.15.121";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "files-cli";
|
||||
owner = "files-com";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-M6SVLloMn/6AmIpfZ0Ib0yUQ33hC9MFjbFTxOlN7kqs=";
|
||||
hash = "sha256-Lf+kWLmCMbP0FIPxmtroakv1RayqTqMrFhYpVBoHqiA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-fxh9YOO0xnYo04HwJyctspipSXgWcDoUu40UwhDf8Uk=";
|
||||
vendorHash = "sha256-GygNBB7ydaq11vU2wY9i/ZHmmLomMDKr4cJSdpcEoxk=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -42,11 +42,14 @@ buildGoModule (finalAttrs: {
|
||||
|
||||
doCheck = !stdenv.hostPlatform.isDarwin;
|
||||
|
||||
checkFlags = [
|
||||
# https://github.com/dundee/gdu/issues/371
|
||||
"-skip=TestStoredAnalyzer"
|
||||
"-skip=TestAnalyzePathWithIgnoring"
|
||||
checkFlags =
|
||||
let
|
||||
skippedTests = [
|
||||
"TestStoredAnalyzer" # https://github.com/dundee/gdu/issues/371
|
||||
"TestAnalyzePathWithIgnoring"
|
||||
];
|
||||
in
|
||||
[ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
|
||||
@@ -18,18 +18,18 @@
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "lux-cli";
|
||||
|
||||
version = "0.18.2";
|
||||
version = "0.18.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lumen-oss";
|
||||
repo = "lux";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Lqw6U14fhkz4ZgSH0OBICvuj2ZJWo7p0dwhpn7szu2A=";
|
||||
hash = "sha256-Ut9MSHl2eE4krf5yLpXdAxPARFuHP+cG8HlY7DqmETw=";
|
||||
};
|
||||
|
||||
buildAndTestSubdir = "lux-cli";
|
||||
|
||||
cargoHash = "sha256-Dx6nmB8kmCKNzXVTROI+NIxvvCboACSOLUU1BCLnTUw=";
|
||||
cargoHash = "sha256-I730Fq9F46aLGeEwMmbeOXIkFWNvskmBl+NuPDfx/ss=";
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
|
||||
@@ -27,13 +27,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "ruffle";
|
||||
version = "0.2.0-nightly-2025-10-12";
|
||||
version = "0.2.0-nightly-2025-10-18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ruffle-rs";
|
||||
repo = "ruffle";
|
||||
tag = lib.strings.removePrefix "0.2.0-" finalAttrs.version;
|
||||
hash = "sha256-QJ1Mz1CR/2NIKiNA7DfjYrurHAtQxvZephJQCLxbmwc=";
|
||||
hash = "sha256-rFgaquwcQK2U+1qSlxI+VT5OJPftbj4pcMJih71Gl2A=";
|
||||
};
|
||||
|
||||
postPatch =
|
||||
@@ -49,7 +49,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
"OpenH264Version(${major}, ${minor}, ${patch})"
|
||||
'';
|
||||
|
||||
cargoHash = "sha256-zFmGusWYN0PJ+3Q89JMixehWYigYqmWZCG+lgyLkUhE=";
|
||||
cargoHash = "sha256-6Q3KBrrfL50AkFkDuxXWKqPtc2ClI3j1WpE/x9ASOJk=";
|
||||
cargoBuildFlags = lib.optional withRuffleTools "--workspace";
|
||||
|
||||
env =
|
||||
|
||||
@@ -23,9 +23,9 @@
|
||||
mkXfceDerivation {
|
||||
category = "xfce";
|
||||
pname = "thunar";
|
||||
version = "4.20.5";
|
||||
version = "4.20.6";
|
||||
|
||||
sha256 = "sha256-Q8gzXRR2ZO98rbHhxnf472d8rGOLqEv7WP6LDONRgS0=";
|
||||
sha256 = "sha256-Ll1mJEkkxYGASWQ2z7GRiubNjggqeHXzgGSXQK+10qs=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
docbook_xsl
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "qodeassist-plugin";
|
||||
version = "0.7.0";
|
||||
version = "0.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Palm1r";
|
||||
repo = "QodeAssist";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-XzxuElQQxR2dK7KD0QHUAb7qyizUBhPvGDv3OvnAQjc=";
|
||||
hash = "sha256-QDs9li8WH27aITe48cxRWaqd0mFCmZcBeb34LadeGmk=";
|
||||
};
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
pythonOlder,
|
||||
fetchFromGitHub,
|
||||
flit-core,
|
||||
numpy,
|
||||
@@ -11,24 +10,18 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "castepxbin";
|
||||
version = "0.3.0";
|
||||
version = "0.3.1";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zhubonan";
|
||||
repo = "castepxbin";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-6kumVnm4PLRxuKO6Uz0iHzfYuu21hFC7EPRsc3S1kxE=";
|
||||
hash = "sha256-M+OoKr9ODIp47gt64hf47A1PblyZpBzulKI7nEm8hdo=";
|
||||
};
|
||||
|
||||
build-system = [ flit-core ];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"numpy"
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
numpy
|
||||
scipy
|
||||
@@ -36,10 +29,11 @@ buildPythonPackage rec {
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
changelog = "https://github.com/zhubonan/castepxbin/releases/tag/${src.tag}";
|
||||
description = "Collection of readers for CASTEP binary outputs";
|
||||
homepage = "https://github.com/zhubonan/castepxbin";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ dotlambda ];
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ dotlambda ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,9 +2,11 @@
|
||||
lib,
|
||||
|
||||
buildPythonPackage,
|
||||
callPackages,
|
||||
fetchFromGitHub,
|
||||
pythonOlder,
|
||||
|
||||
keymap-drawer,
|
||||
nix-update-script,
|
||||
pcpp,
|
||||
platformdirs,
|
||||
@@ -59,6 +61,12 @@ buildPythonPackage {
|
||||
versionCheckProgram = "${placeholder "out"}/bin/keymap";
|
||||
versionCheckProgramArg = "--version";
|
||||
|
||||
passthru.tests = callPackages ./tests {
|
||||
# Explicitly pass the correctly scoped package.
|
||||
# The top-level package will still resolve to itself, because the way
|
||||
# `toPythonApplication` interacts with scopes is weird.
|
||||
inherit keymap-drawer;
|
||||
};
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
runCommand,
|
||||
stdenv,
|
||||
testers,
|
||||
|
||||
keymap-drawer,
|
||||
yamllint,
|
||||
}:
|
||||
let
|
||||
runKeymapDrawer =
|
||||
name:
|
||||
runCommand "keymap-drawer-${name}" {
|
||||
nativeBuildInputs = [ keymap-drawer ];
|
||||
};
|
||||
|
||||
MattSturgeon-example = fetchFromGitHub {
|
||||
owner = "MattSturgeon";
|
||||
repo = "glove80-config";
|
||||
rev = "d55267dd26593037256b35a5d6ebba0f75541da5";
|
||||
hash = "sha256-MV6cNpgHBuaGvpu2aR1aBNMpwPnDqOSbGf+2ykxocP4=";
|
||||
nonConeMode = true;
|
||||
sparseCheckout = [
|
||||
"config"
|
||||
"img"
|
||||
];
|
||||
};
|
||||
|
||||
# MattSturgeon's example requires MDI icons
|
||||
mdi = fetchFromGitHub {
|
||||
owner = "Templarian";
|
||||
repo = "MaterialDesign-SVG";
|
||||
tag = "v7.4.47";
|
||||
hash = "sha256-NoSSRT1ID38MT70IZ+7h/gMVCNsjNs3A2RX6ePGwuQ0=";
|
||||
};
|
||||
in
|
||||
{
|
||||
dump-config = runKeymapDrawer "dump-config" ''
|
||||
keymap dump-config --output "$out"
|
||||
|
||||
if [ ! -s "$out" ]; then
|
||||
>&2 echo 'Expected `dump-config` to have content.'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
${lib.getExe yamllint} --strict --config-data relaxed "$out"
|
||||
'';
|
||||
|
||||
parse-zmk = testers.testEqualContents {
|
||||
assertion = "keymap parse --zmk-keymap produces expected YAML";
|
||||
expected = "${MattSturgeon-example}/img/glove80.yaml";
|
||||
actual = runKeymapDrawer "parse" ''
|
||||
keymap \
|
||||
--config ${MattSturgeon-example}/config/keymap_drawer.yaml \
|
||||
parse --zmk-keymap ${MattSturgeon-example}/config/glove80.keymap \
|
||||
--output "$out"
|
||||
'';
|
||||
checkMetadata = stdenv.buildPlatform.isLinux;
|
||||
};
|
||||
|
||||
draw = testers.testEqualContents {
|
||||
assertion = "keymap draw produces expected SVG";
|
||||
expected = "${MattSturgeon-example}/img/glove80.svg";
|
||||
actual = runKeymapDrawer "draw" ''
|
||||
${lib.optionalString stdenv.buildPlatform.isLinux ''
|
||||
export XDG_CACHE_HOME="$PWD/cache"
|
||||
glyphs="$XDG_CACHE_HOME/keymap-drawer/glyphs"
|
||||
''}
|
||||
${lib.optionalString stdenv.buildPlatform.isDarwin ''
|
||||
export HOME="$PWD/home"
|
||||
glyphs="$HOME/Library/Caches/keymap-drawer/glyphs"
|
||||
''}
|
||||
mkdir -p "$glyphs"
|
||||
|
||||
# Unpack MDI icons into the cache
|
||||
for file in ${mdi}/svg/*
|
||||
do
|
||||
ln -s "$file" "$glyphs/mdi:$(basename "$file")"
|
||||
done
|
||||
|
||||
keymap \
|
||||
--config ${MattSturgeon-example}/config/keymap_drawer.yaml \
|
||||
draw ${MattSturgeon-example}/img/glove80.yaml \
|
||||
--output "$out"
|
||||
'';
|
||||
checkMetadata = stdenv.buildPlatform.isLinux;
|
||||
};
|
||||
}
|
||||
41
pkgs/development/python-modules/uhashring/default.nix
Normal file
41
pkgs/development/python-modules/uhashring/default.nix
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
pytestCheckHook,
|
||||
fetchFromGitHub,
|
||||
hatchling,
|
||||
python-memcached,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "uhashring";
|
||||
version = "2.4";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ultrabug";
|
||||
repo = "uhashring";
|
||||
tag = version;
|
||||
hash = "sha256-6zNPExbcwTUne0lT8V6xp2Gf6J1VgG7Q93qizVOAc+k=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
hatchling
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"uhashring"
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
python-memcached
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Full featured consistent hashing python library compatible with ketama";
|
||||
homepage = "https://github.com/ultrabug/uhashring";
|
||||
changelog = "https://github.com/ultrabug/uhashring/blob/${src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ typedrat ];
|
||||
};
|
||||
}
|
||||
@@ -19497,6 +19497,8 @@ self: super: with self; {
|
||||
|
||||
uharfbuzz = callPackage ../development/python-modules/uharfbuzz { };
|
||||
|
||||
uhashring = callPackage ../development/python-modules/uhashring { };
|
||||
|
||||
uhi = callPackage ../development/python-modules/uhi { };
|
||||
|
||||
uiprotect = callPackage ../development/python-modules/uiprotect { };
|
||||
|
||||
Reference in New Issue
Block a user