Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-01-17 14:32:26 +00:00
committed by GitHub
37 changed files with 350 additions and 252 deletions
+2
View File
@@ -18,6 +18,8 @@
- [`lib.types.enum`](https://nixos.org/manual/nixos/unstable/#sec-option-types-basic): Previously the `functor.payload` was the list of enum values directly. Now it is an attribute set containing the values in the `values` attribute.
- [`lib.types.separatedString`](https://nixos.org/manual/nixos/unstable/#sec-option-types-string): Previously the `functor.payload` was the seperator directly. Now it is an attribute set containing the seperator in the `sep` attribute.
- The `virtualisation.hypervGuest.videoMode` option has been removed. Standard tooling can now be used to configure display modes for Hyper-V VMs.
### Deprecations {#sec-nixpkgs-release-25.05-lib-deprecations}
`functor` is an implementation detail and should not be relied upon, but since its status wasn't clear and it has had some use cases without alternatives, changes are being handled as gracefully as possible. Deprecations within functor:
+7 -14
View File
@@ -6,22 +6,15 @@ let
cfg = config.virtualisation.hypervGuest;
in {
imports = [
(mkRemovedOptionModule [ "virtualisation" "hypervGuest" "videoMode" ]
"The video mode can now be configured via standard tools, or in Hyper-V VM settings."
)
];
options = {
virtualisation.hypervGuest = {
enable = mkEnableOption "Hyper-V Guest Support";
videoMode = mkOption {
type = types.str;
default = "1152x864";
example = "1024x768";
description = ''
Resolution at which to initialize the video adapter.
Supports screen resolution up to Full HD 1920x1080 with 32 bit color
on Windows Server 2012, and 1600x1200 with 16 bit color on Windows
Server 2008 R2 or earlier.
'';
};
};
};
@@ -34,7 +27,7 @@ in {
initrd.availableKernelModules = [ "hyperv_keyboard" ];
kernelParams = [
"video=hyperv_fb:${cfg.videoMode}" "elevator=noop"
"elevator=noop"
];
};
+26 -8
View File
@@ -9,18 +9,37 @@ import ./make-test-python.nix (
{ pkgs, ... }:
{
imports = [ ../modules/installer/cd-dvd/channel.nix ];
environment.systemPackages = [ pkgs.python3 ];
system.extraDependencies = [ pkgs.hello.inputDerivation ];
environment.systemPackages = with pkgs; [
openssl
python3
];
# We encrypt the binary cache before putting it on the machine so Nix
# doesn't bring any references along.
environment.etc."binary-cache.tar.gz.encrypted".source =
with pkgs;
runCommand "binary-cache.tar.gz.encrypted"
{
allowReferences = [ ];
nativeBuildInputs = [ openssl ];
}
''
tar -czf tmp.tar.gz -C "${mkBinaryCache { rootPaths = [ hello ]; }}" .
openssl enc -aes-256-cbc -salt -in tmp.tar.gz -out $out -k mysecretpassword
'';
nix.extraOptions = ''
experimental-features = nix-command
'';
};
testScript = ''
# Build the cache, then remove it from the store
cachePath = machine.succeed("nix-build --no-out-link -E 'with import <nixpkgs> {}; mkBinaryCache { rootPaths = [hello]; }'").strip()
machine.succeed("cp -r %s/. /tmp/cache" % cachePath)
machine.succeed("nix-store --delete " + cachePath)
# Decrypt the cache into /tmp/binary-cache.tar.gz
machine.succeed("openssl enc -d -aes-256-cbc -in /etc/binary-cache.tar.gz.encrypted -out /tmp/binary-cache.tar.gz -k mysecretpassword")
# Untar the cache into /tmp/cache
machine.succeed("mkdir /tmp/cache")
machine.succeed("tar -C /tmp/cache -xf /tmp/binary-cache.tar.gz")
# Sanity test of cache structure
status, stdout = machine.execute("ls /tmp/cache")
@@ -42,8 +61,7 @@ import ./make-test-python.nix (
if not match: raise Exception("Couldn't find hello store path in cache")
storePath = match[1]
# Delete the store path
machine.succeed("nix-store --delete " + storePath)
# Make sure the store path doesn't exist yet
machine.succeed("[ ! -d %s ] || exit 1" % storePath)
# Should be able to build hello using the cache
@@ -9,54 +9,54 @@ let
versions =
if stdenv.hostPlatform.isLinux then
{
stable = "0.0.79";
ptb = "0.0.124";
canary = "0.0.556";
development = "0.0.61";
stable = "0.0.80";
ptb = "0.0.126";
canary = "0.0.569";
development = "0.0.67";
}
else
{
stable = "0.0.331";
ptb = "0.0.154";
canary = "0.0.668";
development = "0.0.70";
stable = "0.0.332";
ptb = "0.0.156";
canary = "0.0.681";
development = "0.0.76";
};
version = versions.${branch};
srcs = rec {
x86_64-linux = {
stable = fetchurl {
url = "https://stable.dl2.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
hash = "sha256-gQVx+PueGDofUjKSvyorCu73myNujcKz9gugMKB9koY=";
hash = "sha256-oamuF2LcdBC2HUzB08lTlxvrXjE6YFBXwLJDrmYKRXM=";
};
ptb = fetchurl {
url = "https://ptb.dl2.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
hash = "sha256-jJncDqX2vCWFIpgruX1SknZBrCvMM5HSy6je9xxnxqM=";
hash = "sha256-4OvGEeOP4i4j7WwMjnnSvaNQ2e5RZ0EMF797xoIsWMY=";
};
canary = fetchurl {
url = "https://canary.dl2.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
hash = "sha256-5qn0YL0+1uE6kmQO3Fh2DD0gNjk6MT+yAdIoMK7Y8Tw=";
hash = "sha256-akbcAPuxF1pl4u2Cw/I7rlv8WVDsIZDPPpGRUt1qQvA=";
};
development = fetchurl {
url = "https://development.dl2.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
hash = "sha256-9ssgue3Y8StyKnc1dvr6b0Z3hjPYtJCNuVsruqFx8ug=";
hash = "sha256-YwOhdNM6l+E/X6JX5ttyJsJmf3Pa+BN7N0mG7923xI4=";
};
};
x86_64-darwin = {
stable = fetchurl {
url = "https://stable.dl2.discordapp.net/apps/osx/${version}/Discord.dmg";
hash = "sha256-U37JyZwPmsk6ArD8Lz0xAiy/I78H+wHSig3+1BpD9iA=";
hash = "sha256-ZIAFYbC4rRjb9Lz3E50TfR0Lgdmg0MZllxy+vk36Eg8=";
};
ptb = fetchurl {
url = "https://ptb.dl2.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
hash = "sha256-BVKhyLoz/EoaZ6LgCaJuZZ37u9ProXOPddrfg171Eu4=";
hash = "sha256-Uluw2l/yAFzy4uMzp9ugFri8Psl7hy50H7QHag+St10=";
};
canary = fetchurl {
url = "https://canary.dl2.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
hash = "sha256-1eCHufW68AuYuYWzfq6Tt+YylFgCLT88DrvrNZvQG8A=";
hash = "sha256-OmN8g5Skg/KmdO8sv8iOhbZOFU/XUyUqvSthEam6RNE=";
};
development = fetchurl {
url = "https://development.dl2.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
hash = "sha256-UdHwa/ALOOt/bNA6UmVJB8GNe+yHJ1xFoyF0nT1Zn3g=";
hash = "sha256-GyHOJcxWoKdFJ5/oca5JFwu5OdGGykR4OXGMaa3XfiY=";
};
};
aarch64-darwin = x86_64-darwin;
@@ -59,6 +59,7 @@ let
"8.19.1".sha256 = "sha256-kmZ8Uk8jpzjOd67aAPp3C+vU2oNaBw9pr7+Uixcgg94=";
"8.19.2".sha256 = "sha256-q+i07JsMZp83Gqav6v1jxsgPLN7sPvp5/oszVnavmz0=";
"8.20.0".sha256 = "sha256-WFpZlA6CzFVAruPhWcHQI7VOBVhrGLdFzWrHW0DTSl0=";
"8.20.1".sha256 = "sha256-nRaLODPG4E3gUDzGrCK40vhl4+VhPyd+/fXFK/HC3Ig=";
};
releaseRev = v: "V${v}";
fetched = import ../../../../build-support/coq/meta-fetch/default.nix
@@ -23,7 +23,7 @@ for item in closures:
with open(xzFile, "w") as f:
subprocess.run("nix-store --dump %s | xz -c" % item["path"], stdout=f, shell=True)
fileHash = subprocess.run(["nix-hash", "--base32", "--type", "sha256", item["path"]], capture_output=True).stdout.decode().strip()
fileHash = subprocess.run(["nix-hash", "--base32", "--type", "sha256", "--flat", xzFile], capture_output=True).stdout.decode().strip()
fileSize = os.path.getsize(xzFile)
# Rename the .nar.xz file to its own hash to match "nix copy" behavior
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "containerlab";
version = "0.61.0";
version = "0.62.0";
src = fetchFromGitHub {
owner = "srl-labs";
repo = "containerlab";
rev = "v${version}";
hash = "sha256-VEN2JjgLukE8YQ2nq+qFS2Yq0TdiTyRm2RUm32mJzBM=";
hash = "sha256-6WDmjVRLvh8FBydaN41Vj4B5BIkIF9VnvhRcJR3k9Ec=";
};
vendorHash = "sha256-PwPih5LuXPBznSvn4L4h8zCiuWP2+u90PdN5+2Il6j0=";
vendorHash = "sha256-G9W4iC04R5Rvl3hAJtMlUKJKo7AAIE33Y2c+0HedXU8=";
nativeBuildInputs = [ installShellFiles ];
+2 -2
View File
@@ -14,11 +14,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "crowdin-cli";
version = "4.5.0";
version = "4.5.1";
src = fetchurl {
url = "https://github.com/crowdin/crowdin-cli/releases/download/${finalAttrs.version}/crowdin-cli.zip";
hash = "sha256-Qcw1935ENMftohZrwqRZRrXoXYThogfBXNzf/6jJxaM=";
hash = "sha256-wmW6RBVMdpcawCEgLaZwOLStdUIWumsgc39Y0Kv8uEE=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "kube-bench";
version = "0.9.4";
version = "0.10.0";
src = fetchFromGitHub {
owner = "aquasecurity";
repo = pname;
tag = "v${version}";
hash = "sha256-SkXf8zZif1l+yOSUjYpW474gYOmxifaLtj/DNK+ZNfg=";
hash = "sha256-+2WoQJtH5uuVSOi70WQ+DYnUNlXoThXPJvz2jckn2cw=";
};
vendorHash = "sha256-6ApPEt9SkPI5yu3ejzR1AU1ZCHmltp8Cxso6j//pEAk=";
vendorHash = "sha256-2jlYDpUJr4y4Ahzw9xDwVlQ/XPADMbAc5qYf+6N7Ado=";
nativeBuildInputs = [ installShellFiles ];
+3 -3
View File
@@ -8,13 +8,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "metacubexd";
version = "1.173.3";
version = "1.176.1";
src = fetchFromGitHub {
owner = "MetaCubeX";
repo = "metacubexd";
rev = "v${finalAttrs.version}";
hash = "sha256-K/E3EetvpJKnLvFNkWtf95D/+oQtu27JLO3il7dpN2c=";
hash = "sha256-96mWjODfgIoJM/c/2c+KdPDxWCEGszglkRqjabW8auk=";
};
nativeBuildInputs = [
@@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = pnpm_9.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-aw8Sh4BecQ09rC0OLWebdWc7D/LE8vPs9uqh6w5G/FM=";
hash = "sha256-xDcqGvM8J6miDwiwNQODnPVq63flitva6/nPLYa9cgY=";
};
buildPhase = ''
+4 -4
View File
@@ -12,16 +12,16 @@
rustPlatform.buildRustPackage rec {
pname = "mollysocket";
version = "1.5.5";
version = "1.6.0";
src = fetchFromGitHub {
owner = "mollyim";
repo = "mollysocket";
rev = version;
hash = "sha256-IJaWCawA1vM+3qdHbPZCn4laM7DAL19k1P1MjghtGv8=";
tag = version;
hash = "sha256-F80XRQn3h1Y6dE8PVLGMTY29yZomrwqFAsm7h8euHw8=";
};
cargoHash = "sha256-FNFTPjj9TQeIG7K/+qpOav/TcNsmt+G6EhBftHqNbB4=";
cargoHash = "sha256-ZHS/EJBhT1H5MvuqdPtmf95ctuLft4qVsZzPVeJBR5k=";
nativeBuildInputs = [
pkg-config
+2 -2
View File
@@ -67,7 +67,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "mutter";
version = "46.7";
version = "46.8";
outputs = [
"out"
@@ -78,7 +78,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "mirror://gnome/sources/mutter/${lib.versions.major finalAttrs.version}/mutter-${finalAttrs.version}.tar.xz";
hash = "sha256-+7wVwLB2CS0WwB1cbwxvVNIR84Miy4wjseF9xW1MUl0=";
hash = "sha256-+8CDVEr7O4Vn18pobCF/g3sG+UeNbiV0FZ/5ocjhyWI=";
};
mesonFlags = [
@@ -27,6 +27,7 @@ def get_parser() -> tuple[argparse.ArgumentParser, dict[str, argparse.ArgumentPa
default=0,
help="Enable verbose logging (includes nix)",
)
common_flags.add_argument("--quiet", action="count", default=0)
common_flags.add_argument("--max-jobs", "-j")
common_flags.add_argument("--cores")
common_flags.add_argument("--log-format")
@@ -34,12 +35,11 @@ def get_parser() -> tuple[argparse.ArgumentParser, dict[str, argparse.ArgumentPa
common_flags.add_argument("--keep-failed", "-K", action="store_true")
common_flags.add_argument("--fallback", action="store_true")
common_flags.add_argument("--repair", action="store_true")
common_flags.add_argument("--option", nargs=2)
common_flags.add_argument("--option", nargs=2, action="append")
common_build_flags = argparse.ArgumentParser(add_help=False)
common_build_flags.add_argument("--builders")
common_build_flags.add_argument("--include", "-I", action="append")
common_build_flags.add_argument("--quiet", action="store_true")
common_build_flags.add_argument("--print-build-logs", "-L", action="store_true")
common_build_flags.add_argument("--show-trace", action="store_true")
@@ -54,8 +54,8 @@ def get_parser() -> tuple[argparse.ArgumentParser, dict[str, argparse.ArgumentPa
flake_common_flags.add_argument("--no-write-lock-file", action="store_true")
flake_common_flags.add_argument("--no-registries", action="store_true")
flake_common_flags.add_argument("--commit-lock-file", action="store_true")
flake_common_flags.add_argument("--update-input")
flake_common_flags.add_argument("--override-input", nargs=2)
flake_common_flags.add_argument("--update-input", action="append")
flake_common_flags.add_argument("--override-input", nargs=2, action="append")
classic_build_flags = argparse.ArgumentParser(add_help=False)
classic_build_flags.add_argument("--no-build-output", "-Q", action="store_true")
@@ -52,7 +52,7 @@ class BuildAttr:
attr: str | None
def to_attr(self, *attrs: str) -> str:
return f"{self.attr + '.' if self.attr else ''}{".".join(attrs)}"
return f"{self.attr + '.' if self.attr else ''}{'.'.join(attrs)}"
@classmethod
def from_arg(cls, attr: str | None, file: str | None) -> Self:
@@ -68,7 +68,7 @@ class Flake:
_re: ClassVar = re.compile(r"^(?P<path>[^\#]*)\#?(?P<attr>[^\#\"]*)$")
def to_attr(self, *attrs: str) -> str:
return f"{self}.{".".join(attrs)}"
return f"{self}.{'.'.join(attrs)}"
@override
def __str__(self) -> str:
@@ -83,7 +83,7 @@ class Flake:
m = cls._re.match(flake_str)
assert m is not None, f"got no matches for {flake_str}"
attr = m.group("attr")
nixos_attr = f"nixosConfigurations.{attr or hostname_fn() or "default"}"
nixos_attr = f"nixosConfigurations.{attr or hostname_fn() or 'default'}"
path = m.group("path")
if ":" in path:
return cls(path, nixos_attr)
@@ -15,7 +15,7 @@ SSH_DEFAULT_OPTS: Final = [
"-o",
"ControlMaster=auto",
"-o",
f"ControlPath={tmpdir.TMPDIR_PATH / "ssh-%n"}",
f"ControlPath={tmpdir.TMPDIR_PATH / 'ssh-%n'}",
"-o",
"ControlPersist=60",
]
@@ -2,7 +2,7 @@ import logging
from collections.abc import Mapping, Sequence
from typing import Any, assert_never, override
type Arg = bool | str | list[str] | int | None
type Arg = bool | str | list[str] | list[list[str]] | int | None
type Args = dict[str, Arg]
@@ -43,9 +43,13 @@ def dict_to_flags(d: Args | None) -> list[str]:
flags.append(flag)
flags.append(value)
case list():
for v in value:
for vs in value:
flags.append(flag)
flags.append(v)
if isinstance(vs, list):
for v in vs:
flags.append(v)
else:
flags.append(vs)
case _:
assert_never(value)
return flags
@@ -40,8 +40,21 @@ def test_parse_args() -> None:
"--flake",
"/etc/nixos",
"--option",
"foo",
"bar",
"foo1",
"bar1",
"--option",
"foo2",
"bar2",
"--override-input",
"override1",
"input1",
"--override-input",
"override2",
"input2",
"--update-input",
"input1",
"--update-input",
"input2",
]
)
assert nr.logger.level == logging.INFO
@@ -50,8 +63,27 @@ def test_parse_args() -> None:
assert r1.install_grub is True
assert r1.profile_name == "system"
assert r1.action == "switch"
assert r1.option == ["foo", "bar"]
assert g1["common_flags"].option == ["foo", "bar"]
# round-trip test (ensure that we have the same flags as parsed)
assert nr.utils.dict_to_flags(vars(g1["common_flags"])) == [
"--option",
"foo1",
"bar1",
"--option",
"foo2",
"bar2",
]
assert nr.utils.dict_to_flags(vars(g1["flake_common_flags"])) == [
"--update-input",
"input1",
"--update-input",
"input2",
"--override-input",
"override1",
"input1",
"--override-input",
"override2",
"input2",
]
r2, g2 = nr.parse_args(
[
@@ -63,7 +95,13 @@ def test_parse_args() -> None:
"foo",
"--attr",
"bar",
"-I",
"include1",
"-I",
"include2",
"-vvv",
"--quiet",
"--quiet",
]
)
assert nr.logger.level == logging.DEBUG
@@ -72,7 +110,18 @@ def test_parse_args() -> None:
assert r2.action == "dry-build"
assert r2.file == "foo"
assert r2.attr == "bar"
assert g2["common_flags"].v == 3
# round-trip test (ensure that we have the same flags as parsed)
assert nr.utils.dict_to_flags(vars(g2["common_flags"])) == [
"-vvv",
"--quiet",
"--quiet",
]
assert nr.utils.dict_to_flags(vars(g2["common_build_flags"])) == [
"--include",
"include1",
"--include",
"include2",
]
@patch.dict(nr.process.os.environ, {}, clear=True)
@@ -292,6 +341,10 @@ def test_execute_nix_switch_flake(mock_run: Any, tmp_path: Path) -> None:
"--sudo",
"--verbose",
"--fast",
# https://github.com/NixOS/nixpkgs/issues/374050
"--option",
"narinfo-cache-negative-ttl",
"1200",
]
)
@@ -307,6 +360,9 @@ def test_execute_nix_switch_flake(mock_run: Any, tmp_path: Path) -> None:
"--print-out-paths",
"/path/to/config#nixosConfigurations.hostname.config.system.build.toplevel",
"-v",
"--option",
"narinfo-cache-negative-ttl",
"1200",
"--no-link",
],
check=True,
@@ -11,10 +11,11 @@ def test_dict_to_flags() -> None:
"test_flag_2": False,
"test_flag_3": "value",
"test_flag_4": ["v1", "v2"],
"test_flag_5": None,
"test_flag_5": [["o1", "v1"], ["o2", "v2"]],
"test_flag_6": None,
"t": True,
"v": 5,
"verbose": 2,
"quiet": 2,
}
)
assert r1 == [
@@ -25,10 +26,16 @@ def test_dict_to_flags() -> None:
"v1",
"--test-flag-4",
"v2",
"--test-flag-5",
"o1",
"v1",
"--test-flag-5",
"o2",
"v2",
"-t",
"-vvvvv",
"--verbose",
"--verbose",
"--quiet",
"--quiet",
]
r2 = u.dict_to_flags({"verbose": 0, "empty_list": []})
assert r2 == []
+3 -3
View File
@@ -5,16 +5,16 @@
}:
buildNpmPackage rec {
pname = "qdrant-web-ui";
version = "0.1.34";
version = "0.1.35";
src = fetchFromGitHub {
owner = "qdrant";
repo = "qdrant-web-ui";
tag = "v${version}";
hash = "sha256-hLjoN0GxRKkEPRw5+ga597QNeuCxl9aZawezfQqBD7I=";
hash = "sha256-kTXN+uouEf/szksu+rLAXW+As2YyrFF4i8AluFEPRUs=";
};
npmDepsHash = "sha256-ccykE9W6koZ8BDtOZicou264/qwVtEuDdiinGF7rp5I=";
npmDepsHash = "sha256-oZydAlmzNjjcuLtXfhBXrsuOBPyOsnRZZ7DzUVg0eas=";
npmBuildScript = "build-qdrant";
+3 -3
View File
@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec {
pname = "river-luatile";
version = "0.1.3";
version = "0.1.4";
src = fetchFromGitHub {
owner = "MaxVerevkin";
repo = "river-luatile";
rev = "v${version}";
hash = "sha256-ZBytoj4L72TjxJ7vFivjcSO69AcdwKNbXh4rA/bn5iU=";
hash = "sha256-8/qHoNFoGH1nSdTwBkaQk+yyvJtrXADTA39gUAMeSv8=";
};
cargoHash = "sha256-GcMSglLKuUD3nVj0/8Nbrk4qs5gl5PlCj7r1MYq/vQg=";
cargoHash = "sha256-bXPxj8bNI8ZqYFl8XEHdNLqe0meYrlY2ovP3DKLGaqM=";
nativeBuildInputs = [
pkg-config
+2 -2
View File
@@ -11,13 +11,13 @@
}:
stdenv.mkDerivation rec {
pname = "sqlitestudio";
version = "3.4.13";
version = "3.4.14";
src = fetchFromGitHub {
owner = "pawelsalawa";
repo = "sqlitestudio";
rev = version;
hash = "sha256-k7ZedSw4Y1WIUH5IflSrEv4h7zsx40tB8A4/qr9OW9E=";
hash = "sha256-eexXRgi/AuxM1mDSdgOsfrv7JDF8NWCXhyAerA9lcBo=";
};
nativeBuildInputs =
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule rec {
pname = "vals";
version = "0.38.0";
version = "0.39.0";
src = fetchFromGitHub {
rev = "v${version}";
owner = "helmfile";
repo = pname;
sha256 = "sha256-dN4712rZ/nElYpthW+27WSFOeNmV2Bm7Zx/OEIrKwsQ=";
sha256 = "sha256-Og3klt2FvfSbgplHgO4waG41apu+EePaBxVbVxaTPB0=";
};
vendorHash = "sha256-EihgFqD80YlFaEJfeS2C91ifk7yYhZQcgEUteIk3siM=";
vendorHash = "sha256-F+eEnYdsXCmFuhJT3qWIrYCOkuEZdz2XFSMIccgz/+o=";
proxyVendor = true;
+2 -2
View File
@@ -6,14 +6,14 @@
stdenv.mkDerivation rec {
pname = "zimfw";
version = "1.16.0";
version = "1.17.0";
src = fetchFromGitHub {
owner = "zimfw";
repo = "zimfw";
rev = "v${version}";
## zim only needs this one file to be installed.
sparseCheckout = [ "zimfw.zsh" ];
hash = "sha256-kAy7wT7K1x9di1RRcXHk5e0johdDWtSzDD85chSkNZ0=";
hash = "sha256-h8VhnUxelnc67TngQzmKY/098uKgvopBA1YleTiJhWc=";
};
strictDeps = true;
dontConfigure = true;
@@ -90,12 +90,10 @@ stdenv.mkDerivation (finalAttrs: {
configureFlagsArray+=("--elfinterp=$(< $NIX_CC/nix-support/dynamic-linker)")
'';
env.NIX_CFLAGS_COMPILE = toString (
lib.optionals stdenv.cc.isClang [
"-Wno-error=implicit-int"
"-Wno-error=int-conversion"
]
);
env.NIX_CFLAGS_COMPILE = toString [
"-Wno-error=implicit-int"
"-Wno-error=int-conversion"
];
# Test segfault for static build
doCheck = !stdenv.hostPlatform.isStatic;
@@ -278,6 +278,24 @@ let
url = "https://github.com/AbsInt/CompCert/commit/20a5b48758bf8ac18e4c420df67017b371efc237.patch";
hash = "sha256-TJ87CvLiAv1absGnPsTXsD/HQwKgS82loUTcosulyso=";
})
# Support for Coq 8.20.1
(fetchpatch {
url = "https://github.com/AbsInt/CompCert/commit/e6c9a2d068ae67923bbc7c6b7035b6afde6ece3c.patch";
hash = "sha256-PtiEkG/aLRotIiqrmc6SQncQSi7IGSC5QX3e52xkOUQ=";
})
];
}
{
cases = [
(isEq "8.20")
(isEq "3.15")
];
out = [
# Support for Coq 8.20.1
(fetchpatch {
url = "https://github.com/AbsInt/CompCert/commit/e524b0a19ae5140f64047b1cba6ebbe1d16d5bbf.patch";
hash = "sha256-24kt0hA75ooyXymH+kNS5VlsuXMHbkqTw4m+BzNUwrw=";
})
];
}
]
+47 -113
View File
@@ -5,120 +5,45 @@
coq,
stdlib,
version ? null,
elpi-version ? null,
}:
let
elpi = coq.ocamlPackages.elpi.override (
lib.switch coq.coq-version [
{
case = "8.11";
out = {
version = "1.11.4";
};
}
{
case = "8.12";
out = {
version = "1.12.0";
};
}
{
case = "8.13";
out = {
version = "1.13.7";
};
}
{
case = "8.14";
out = {
version = "1.13.7";
};
}
{
case = "8.15";
out = {
version = "1.15.0";
};
}
{
case = "8.16";
out = {
version = "1.17.0";
};
}
{
case = "8.17";
out = {
version = "1.17.0";
};
}
{
case = "8.18";
out = {
version = "1.18.1";
};
}
{
case = "8.19";
out = {
version = "1.18.1";
};
}
{
case = "8.20";
out = {
version = "1.19.2";
};
}
] { }
);
in
(mkCoqDerivation {
default-elpi-version = if elpi-version != null then elpi-version else (
lib.switch coq.coq-version [
{ case = "8.11"; out = "1.11.4"; }
{ case = "8.12"; out = "1.12.0"; }
{ case = "8.13"; out = "1.13.7"; }
{ case = "8.14"; out = "1.13.7"; }
{ case = "8.15"; out = "1.15.0"; }
{ case = "8.16"; out = "1.17.0"; }
{ case = "8.17"; out = "1.17.0"; }
{ case = "8.18"; out = "1.18.1"; }
{ case = "8.19"; out = "1.18.1"; }
{ case = "8.20"; out = "1.19.2"; }
] { }
);
elpi = coq.ocamlPackages.elpi.override { version = default-elpi-version; };
propagatedBuildInputs_wo_elpi = [
coq.ocamlPackages.findlib
stdlib
];
derivation = mkCoqDerivation {
pname = "elpi";
repo = "coq-elpi";
owner = "LPCIC";
inherit version;
defaultVersion = lib.switch coq.coq-version [
{
case = "8.20";
out = "2.2.0";
}
{
case = "8.19";
out = "2.0.1";
}
{
case = "8.18";
out = "2.0.0";
}
{
case = "8.17";
out = "1.18.0";
}
{
case = "8.16";
out = "1.15.6";
}
{
case = "8.15";
out = "1.14.0";
}
{
case = "8.14";
out = "1.11.2";
}
{
case = "8.13";
out = "1.11.1";
}
{
case = "8.12";
out = "1.8.3_8.12";
}
{
case = "8.11";
out = "1.6.3_8.11";
}
{ case = "8.20"; out = "2.2.0"; }
{ case = "8.19"; out = "2.0.1"; }
{ case = "8.18"; out = "2.0.0"; }
{ case = "8.17"; out = "1.18.0"; }
{ case = "8.16"; out = "1.15.6"; }
{ case = "8.15"; out = "1.14.0"; }
{ case = "8.14"; out = "1.11.2"; }
{ case = "8.13"; out = "1.11.1"; }
{ case = "8.12"; out = "1.8.3_8.12"; }
{ case = "8.11"; out = "1.6.3_8.11"; }
] null;
release."2.2.0".sha256 = "sha256-rADEoqTXM7/TyYkUKsmCFfj6fjpWdnZEOK++5oLfC/I=";
release."2.0.1".sha256 = "sha256-cuoPsEJ+JRLVc9Golt2rJj4P7lKltTrrmQijjoViooc=";
@@ -161,11 +86,8 @@ in
mlPlugin = true;
useDuneifVersion = v: lib.versions.isGe "2.2.0" v || v == "dev";
propagatedBuildInputs = [
coq.ocamlPackages.findlib
elpi
stdlib
];
propagatedBuildInputs = propagatedBuildInputs_wo_elpi ++ [ elpi ];
preConfigure = ''
make elpi/dune || true
@@ -176,11 +98,23 @@ in
maintainers = [ lib.maintainers.cohencyril ];
license = lib.licenses.lgpl21Plus;
};
}).overrideAttrs
};
patched-derivation1 = derivation.overrideAttrs
(
o:
lib.optionalAttrs (o ? elpi-version)
{
propagatedBuildInputs = propagatedBuildInputs_wo_elpi ++ [
(coq.ocamlPackages.elpi.override { version = o.elpi-version; })
];
}
);
patched-derivation2 = patched-derivation1.overrideAttrs
(
o:
lib.optionalAttrs (o.version != null && (o.version == "dev" || lib.versions.isGe "2.2.0" o.version))
{
propagatedBuildInputs = o.propagatedBuildInputs ++ [ coq.ocamlPackages.ppx_optcomp ];
}
)
);
in patched-derivation2
@@ -3,6 +3,7 @@
buildPythonPackage,
fetchPypi,
betamax,
fixtures,
hacking,
iso8601,
lxml,
@@ -17,21 +18,21 @@
requests-kerberos,
requests-mock,
setuptools,
six,
stestr,
stevedore,
testresources,
testtools,
typing-extensions,
}:
buildPythonPackage rec {
pname = "keystoneauth1";
version = "5.8.0";
version = "5.9.1";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-MVfCEuEhFk3mTWPl734dqtK9NkmmjeHpcbdodwGe8cQ=";
hash = "sha256-+wxm2ELVuWR1ImT/8gs7Src2ENZtm40g0Nz3lroJ3EM=";
};
postPatch = ''
@@ -42,30 +43,39 @@ buildPythonPackage rec {
build-system = [ setuptools ];
dependencies = [
betamax
iso8601
lxml
oauthlib
os-service-types
pbr
requests
requests-kerberos
six
stevedore
];
dependencies =
[
iso8601
os-service-types
pbr
requests
stevedore
typing-extensions
]
# TODO: remove this workaround and fix breakages
++ lib.flatten (builtins.attrValues optional-dependencies);
optional-dependencies = {
betamax = [
betamax
fixtures
pyyaml
];
kerberos = [ requests-kerberos ];
oauth1 = [ oauthlib ];
saml2 = [ lxml ];
};
nativeCheckInputs = [
hacking
oslo-config
oslo-utils
pycodestyle
pyyaml
requests-mock
stestr
testresources
testtools
];
] ++ lib.flatten (builtins.attrValues optional-dependencies);
# test_keystoneauth_betamax_fixture is incompatible with urllib3 2.0.0
# https://bugs.launchpad.net/keystoneauth/+bug/2020112
@@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "pyaml-env";
version = "1.2.1";
version = "1.2.2";
pyproject = true;
src = fetchFromGitHub {
owner = "mkaranasou";
repo = "pyaml_env";
tag = "v${version}";
hash = "sha256-xSu+dksSVugShJwOqedXBrXIKaH0G5JAsynauOuP3OA=";
hash = "sha256-Mp5Zn2JA6j/OTkPCRggNdqdWkrUYyYHMVK6hy/EI0I8=";
};
build-system = [ setuptools ];
@@ -0,0 +1,46 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
requests,
pytestCheckHook,
httpretty,
}:
buildPythonPackage rec {
pname = "pygeocodio";
version = "1.4.0";
pyproject = true;
src = fetchFromGitHub {
owner = "bennylope";
repo = "pygeocodio";
tag = "v${version}";
hash = "sha256-s6sY+iHuWv7+6ydxDWoN9eKiAXw0jeASWiMtz12TTHo=";
};
build-system = [
setuptools
];
dependencies = [
requests
httpretty
];
pythonImportsCheck = [ "geocodio" ];
nativeCheckInputs = [
pytestCheckHook
];
meta = {
description = "Python wrapper for the Geocodio geolocation service API";
downloadPage = "https://github.com/bennylope/pygeocodio/tree/master";
changelog = "https://github.com/bennylope/pygeocodio/blob/v${version}/HISTORY.rst";
homepage = "https://www.geocod.io/docs/#introduction";
license = with lib.licenses; [ bsd3 ];
maintainers = with lib.maintainers; [ ethancedwards8 ];
};
}
@@ -63,7 +63,20 @@ buildPythonPackage rec {
checkPhase = ''
runHook preCheck
stestr run
# File "/build/python-cinderclient-9.6.0/cinderclient/client.py", line 196, in request
# if raise_exc and resp.status_code >= 400:
# ^^^^^^^^^^^^^^^^^^^^^^^
#
# TypeError: '>=' not supported between instances of 'Mock' and 'int'
stestr run -e <(echo "
cinderclient.tests.unit.test_client.ClientTest.test_keystone_request_raises_auth_failure_exception
cinderclient.tests.unit.test_client.ClientTest.test_sessionclient_request_method
cinderclient.tests.unit.test_client.ClientTest.test_sessionclient_request_method_raises_badrequest
cinderclient.tests.unit.test_client.ClientTest.test_sessionclient_request_method_raises_overlimit
cinderclient.tests.unit.test_shell.ShellTest.test_password_prompted
")
runHook postCheck
'';
@@ -11,7 +11,6 @@
libredirect,
lxml,
mock,
netifaces,
pastedeploy,
pbr,
pyeclib,
@@ -33,11 +32,6 @@ buildPythonPackage rec {
hash = "sha256-ZvdWWvPUdZIEadxV0nhqgTXhgJJu+hD1LnYCAP+9gpM=";
};
postPatch = ''
# files requires boto which is incompatible with python 3.9
rm test/functional/s3api/{__init__.py,s3_test_client.py}
'';
nativeBuildInputs = [ installShellFiles ];
build-system = [
@@ -45,21 +39,19 @@ buildPythonPackage rec {
setuptools
];
propagatedBuildInputs = [
dependencies = [
cryptography
eventlet
greenlet
lxml
netifaces
pastedeploy
pyeclib
requests
setuptools
six
xattr
];
dependencies = [
nativeCheckInputs = [
boto3
mock
stestr
@@ -36,7 +36,8 @@ buildPythonPackage rec {
meta = {
description = "Set of extensions to the Python standard library's unit testing framework";
homepage = "https://pypi.python.org/pypi/testtools";
homepage = "https://github.com/testing-cabal/testtools";
license = lib.licenses.mit;
maintainers = [ ];
};
}
@@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "wirerope";
version = "0.4.8";
version = "1.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "youknowone";
repo = "wirerope";
rev = version;
hash = "sha256-Qb0gTCtVWdvZnwS6+PHoBr0syHtpfRI8ugh7zO7k9rk=";
hash = "sha256-oojnv+2+nwL/TJhN+QZ5eiV6WGHC3SCxBQrCri0aHQc=";
};
build-system = [ setuptools ];
@@ -313,6 +313,7 @@ let
NET_L3_MASTER_DEV = option yes;
NET_FOU_IP_TUNNELS = option yes;
IP_NF_TARGET_REDIRECT = module;
NETKIT = whenAtLeast "6.7" yes;
PPP_MULTILINK = yes; # PPP multilink support
PPP_FILTER = yes;
@@ -537,6 +538,8 @@ let
DRM_I915_GVT_KVMGT = module;
# Enable Hyper-V Synthetic DRM Driver
DRM_HYPERV = whenAtLeast "5.14" module;
# And disable the legacy framebuffer driver when we have the new one
FB_HYPERV = whenAtLeast "5.14" no;
}
// lib.optionalAttrs (stdenv.hostPlatform.system == "aarch64-linux") {
# enable HDMI-CEC on RPi boards
@@ -1,11 +1,11 @@
{
"testing": {
"version": "6.13-rc6",
"hash": "sha256:0wqb6ci0l5np31vfk1kv86j0gl44692r0nwi1qwqshcs5cgism85"
"version": "6.13-rc7",
"hash": "sha256:12c9bd0ikppkdpqmvg7g2062s60ks9p0qxx1jis29wl9swr74120"
},
"6.1": {
"version": "6.1.124",
"hash": "sha256:09wqb2wqrbg62kqn1r4vj5694r701lkvb9vdzj0slvv2rkazckpz"
"version": "6.1.125",
"hash": "sha256:0g0b23dm8kzijh9j1g4rv7b3r2lzz53g26xmz4zgchkybxfkbwnr"
},
"5.15": {
"version": "5.15.176",
@@ -20,15 +20,15 @@
"hash": "sha256:043dl195h06hs3zdjd6j1m1zgvmky3s0plrpma75zqf8ab05yghy"
},
"6.6": {
"version": "6.6.71",
"hash": "sha256:0kkj5v1hd6z8z1vhvdly303kabvp2a93zb89pagm79ng5nx1b5r1"
"version": "6.6.72",
"hash": "sha256:0fggpba886340xi8gkxc6hmzplcm69nliddql3d6hn8djcafbfgy"
},
"6.11": {
"version": "6.11.11",
"hash": "sha256:1z2913y38clnlmhvwj49h7p4pic24s4d8np7nmd4lk7m2xz8w532"
},
"6.12": {
"version": "6.12.9",
"hash": "sha256:1d5f4rn6d5hyw94jqdcc7ay0y1s8lmhm3hxss90b6c89vxh07gl7"
"version": "6.12.10",
"hash": "sha256:15xjjn8ff7g9q0ljr2g8k098ppxnpvxlgv22rdrplls8sxg6wlaa"
}
}
+3 -3
View File
@@ -16,13 +16,13 @@
buildGoModule rec {
pname = "mautrix-signal";
version = "0.7.4";
version = "0.7.5";
src = fetchFromGitHub {
owner = "mautrix";
repo = "signal";
rev = "v${version}";
hash = "sha256-1UI2oYDnmwy9+URBMA2yTBMEoFsE8qnkhn7E0l/lOTs=";
hash = "sha256-iBZoVfHec9g+W7xaBAAew/aY9h/errwLdC05biFaZ78=";
};
buildInputs =
@@ -38,7 +38,7 @@ buildGoModule rec {
CGO_LDFLAGS = lib.optional withGoolm [ "-lstdc++" ];
vendorHash = "sha256-ADuW6KMNUwJeGqFlQsJ8qSI0alPQpSAFx1zrhwsAmsI=";
vendorHash = "sha256-RKBewWc98+WpdpXF4QA/ULyZXDR0CKym8KdyeSMd0KA=";
doCheck = true;
preCheck =
+2
View File
@@ -11800,6 +11800,8 @@ self: super: with self; {
pygdbmi = callPackage ../development/python-modules/pygdbmi { };
pygeocodio = callPackage ../development/python-modules/pygeocodio { };
pygetwindow = callPackage ../development/python-modules/pygetwindow { };
pygit2 = callPackage ../development/python-modules/pygit2 { };