Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2024-02-28 12:01:39 +00:00 committed by GitHub
commit 074a096a37
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
50 changed files with 3203 additions and 341 deletions

View File

@ -5805,6 +5805,13 @@
githubId = 8706;
name = "Rafael Fernández López";
};
erethon = {
email = "dgrig@erethon.com";
matrix = "@dgrig:erethon.com";
github = "erethon";
githubId = 1254842;
name = "Dionysis Grigoropoulos";
};
ericbmerritt = {
email = "eric@afiniate.com";
github = "ericbmerritt";
@ -16686,6 +16693,12 @@
githubId = 6445619;
name = "Ruben Cano Diaz";
};
RudiOnTheAir = {
name = "Rüdiger Schwoon";
email = "wolf@schwoon.info";
github = "RudiOnTheAir";
githubId = 47517341;
};
rudolfvesely = {
name = "Rudolf Vesely";
email = "i@rudolfvesely.com";

View File

@ -12,6 +12,8 @@ from test_driver.machine import Machine, NixStartScript, retry
from test_driver.polling_condition import PollingCondition
from test_driver.vlan import VLan
SENTINEL = object()
def get_tmp_dir() -> Path:
"""Returns a temporary directory that is defined by TMPDIR, TEMP, TMP or CWD
@ -187,23 +189,58 @@ class Driver:
# to swallow them and prevent itself from terminating.
os.kill(os.getpid(), signal.SIGTERM)
def create_machine(self, args: Dict[str, Any]) -> Machine:
def create_machine(
self,
start_command: str | dict,
*,
name: Optional[str] = None,
keep_vm_state: bool = False,
) -> Machine:
# Legacy args handling
# FIXME: remove after 24.05
if isinstance(start_command, dict):
if name is not None or keep_vm_state:
raise TypeError(
"Dictionary passed to create_machine must be the only argument"
)
args = start_command
start_command = args.pop("startCommand", SENTINEL)
if start_command is SENTINEL:
raise TypeError(
"Dictionary passed to create_machine must contain startCommand"
)
if not isinstance(start_command, str):
raise TypeError(
f"startCommand must be a string, got: {repr(start_command)}"
)
name = args.pop("name", None)
keep_vm_state = args.pop("keep_vm_state", False)
if args:
raise TypeError(
f"Unsupported arguments passed to create_machine: {args}"
)
rootlog.warning(
"Using create_machine with a single dictionary argument is deprecated, and will be removed in NixOS 24.11"
)
# End legacy args handling
tmp_dir = get_tmp_dir()
if args.get("startCommand"):
start_command: str = args.get("startCommand", "")
cmd = NixStartScript(start_command)
name = args.get("name", cmd.machine_name)
else:
cmd = Machine.create_startcommand(args) # type: ignore
name = args.get("name", "machine")
cmd = NixStartScript(start_command)
name = name or cmd.machine_name
return Machine(
tmp_dir=tmp_dir,
out_dir=self.out_dir,
start_command=cmd,
name=name,
keep_vm_state=args.get("keep_vm_state", False),
keep_vm_state=keep_vm_state,
)
def serial_stdout_on(self) -> None:

View File

@ -208,7 +208,6 @@ class StartCommand:
),
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
shell=True,
cwd=state_dir,
env=self.build_environment(state_dir, shared_dir),
@ -235,77 +234,6 @@ class NixStartScript(StartCommand):
return name
class LegacyStartCommand(StartCommand):
"""Used in some places to create an ad-hoc machine instead of
using nix test instrumentation + module system for that purpose.
Legacy.
"""
def __init__(
self,
netBackendArgs: Optional[str] = None, # noqa: N803
netFrontendArgs: Optional[str] = None, # noqa: N803
hda: Optional[Tuple[Path, str]] = None,
cdrom: Optional[str] = None,
usb: Optional[str] = None,
bios: Optional[str] = None,
qemuBinary: Optional[str] = None, # noqa: N803
qemuFlags: Optional[str] = None, # noqa: N803
):
if qemuBinary is not None:
self._cmd = qemuBinary
else:
self._cmd = "qemu-kvm"
self._cmd += " -m 384"
# networking
net_backend = "-netdev user,id=net0"
net_frontend = "-device virtio-net-pci,netdev=net0"
if netBackendArgs is not None:
net_backend += "," + netBackendArgs
if netFrontendArgs is not None:
net_frontend += "," + netFrontendArgs
self._cmd += f" {net_backend} {net_frontend}"
# hda
hda_cmd = ""
if hda is not None:
hda_path = hda[0].resolve()
hda_interface = hda[1]
if hda_interface == "scsi":
hda_cmd += (
f" -drive id=hda,file={hda_path},werror=report,if=none"
" -device scsi-hd,drive=hda"
)
else:
hda_cmd += f" -drive file={hda_path},if={hda_interface},werror=report"
self._cmd += hda_cmd
# cdrom
if cdrom is not None:
self._cmd += f" -cdrom {cdrom}"
# usb
usb_cmd = ""
if usb is not None:
# https://github.com/qemu/qemu/blob/master/docs/usb2.txt
usb_cmd += (
" -device usb-ehci"
f" -drive id=usbdisk,file={usb},if=none,readonly"
" -device usb-storage,drive=usbdisk "
)
self._cmd += usb_cmd
# bios
if bios is not None:
self._cmd += f" -bios {bios}"
# qemu flags
if qemuFlags is not None:
self._cmd += f" {qemuFlags}"
class Machine:
"""A handle to the machine with this name, that also knows how to manage
the machine lifecycle with the help of a start script / command."""
@ -377,29 +305,6 @@ class Machine:
self.booted = False
self.connected = False
@staticmethod
def create_startcommand(args: Dict[str, str]) -> StartCommand:
rootlog.warning(
"Using legacy create_startcommand(), "
"please use proper nix test vm instrumentation, instead "
"to generate the appropriate nixos test vm qemu startup script"
)
hda = None
if args.get("hda"):
hda_arg: str = args.get("hda", "")
hda_arg_path: Path = Path(hda_arg)
hda = (hda_arg_path, args.get("hdaInterface", ""))
return LegacyStartCommand(
netBackendArgs=args.get("netBackendArgs"),
netFrontendArgs=args.get("netFrontendArgs"),
hda=hda,
cdrom=args.get("cdrom"),
usb=args.get("usb"),
bios=args.get("bios"),
qemuBinary=args.get("qemuBinary"),
qemuFlags=args.get("qemuFlags"),
)
def is_up(self) -> bool:
return self.booted and self.connected

View File

@ -26,6 +26,17 @@ class PollingConditionProtocol(Protocol):
raise Exception("This is just type information for the Nix test driver")
class CreateMachineProtocol(Protocol):
def __call__(
self,
start_command: str | dict,
*,
name: Optional[str] = None,
keep_vm_state: bool = False,
) -> Machine:
raise Exception("This is just type information for the Nix test driver")
start_all: Callable[[], None]
subtest: Callable[[str], ContextManager[None]]
retry: RetryProtocol
@ -34,7 +45,7 @@ machines: List[Machine]
vlans: List[VLan]
driver: Driver
log: Logger
create_machine: Callable[[Dict[str, Any]], Machine]
create_machine: CreateMachineProtocol
run_tests: Callable[[], None]
join_all: Callable[[], None]
serial_stdout_off: Callable[[], None]

View File

@ -293,6 +293,18 @@ in {
assertion = (cfg.alsa.enable || cfg.pulse.enable) -> cfg.audio.enable;
message = "Using PipeWire's ALSA/PulseAudio compatibility layers requires running PipeWire as the sound server. Set `services.pipewire.audio.enable` to true.";
}
{
assertion = builtins.length
(builtins.attrNames
(
lib.filterAttrs
(name: value:
lib.hasPrefix "pipewire/" name || name == "pipewire"
)
config.environment.etc
)) == 1;
message = "Using `environment.etc.\"pipewire<...>\"` directly is no longer supported in 24.05. Use `services.pipewire.extraConfig` or `services.pipewire.configPackages` instead.";
}
];
environment.systemPackages = [ cfg.package ]

View File

@ -98,6 +98,18 @@ in
assertion = !config.hardware.bluetooth.hsphfpd.enable;
message = "Using WirePlumber conflicts with hsphfpd, as it provides the same functionality. `hardware.bluetooth.hsphfpd.enable` needs be set to false";
}
{
assertion = builtins.length
(builtins.attrNames
(
lib.filterAttrs
(name: value:
lib.hasPrefix "wireplumber/" name || name == "wireplumber"
)
config.environment.etc
)) == 1;
message = "Using `environment.etc.\"wireplumber<...>\"` directly is no longer supported in 24.05. Use `services.wireplumber.configPackages` instead.";
}
];
environment.systemPackages = [ cfg.package ];

View File

@ -1,11 +1,13 @@
{ config, lib, pkgs, ... }:
let
inherit (lib.types) nullOr enum;
inherit (lib) types;
cfg = config.services.ollama;
ollamaPackage = cfg.package.override {
inherit (cfg) acceleration;
linuxPackages.nvidia_x11 = config.hardware.nvidia.package;
linuxPackages = config.boot.kernelPackages.overrideAttrs {
nvidia_x11 = config.hardware.nvidia.package;
};
};
in
{
@ -15,14 +17,14 @@ in
lib.mdDoc "Server for local large language models"
);
listenAddress = lib.mkOption {
type = lib.types.str;
type = types.str;
default = "127.0.0.1:11434";
description = lib.mdDoc ''
Specifies the bind address on which the ollama server HTTP interface listens.
'';
};
acceleration = lib.mkOption {
type = nullOr (enum [ "rocm" "cuda" ]);
type = types.nullOr (types.enum [ "rocm" "cuda" ]);
default = null;
example = "rocm";
description = lib.mdDoc ''

View File

@ -4,10 +4,41 @@
}:
with import ../lib/testing-python.nix { inherit system pkgs; };
with pkgs.lib;
let
qemu-common = import ../lib/qemu-common.nix { inherit (pkgs) lib pkgs; };
lib = pkgs.lib;
qemu-common = import ../lib/qemu-common.nix { inherit lib pkgs; };
mkStartCommand = {
memory ? 2048,
cdrom ? null,
usb ? null,
pxe ? null,
uboot ? false,
uefi ? false,
extraFlags ? [],
}: let
qemu = qemu-common.qemuBinary pkgs.qemu_test;
flags = [
"-m" (toString memory)
"-netdev" ("user,id=net0" + (lib.optionalString (pxe != null) ",tftp=${pxe},bootfile=netboot.ipxe"))
"-device" ("virtio-net-pci,netdev=net0" + (lib.optionalString (pxe != null && uefi) ",romfile=${pkgs.ipxe}/ipxe.efirom"))
] ++ lib.optionals (cdrom != null) [
"-cdrom" cdrom
] ++ lib.optionals (usb != null) [
"-device" "usb-ehci"
"-drive" "id=usbdisk,file=${usb},if=none,readonly"
"-device" "usb-storage,drive=usbdisk"
] ++ lib.optionals (pxe != null) [
"-boot" "order=n"
] ++ lib.optionals uefi [
"-drive" "if=pflash,format=raw,unit=0,readonly=on,file=${pkgs.OVMF.firmware}"
"-drive" "if=pflash,format=raw,unit=1,readonly=on,file=${pkgs.OVMF.variables}"
] ++ extraFlags;
flagsStr = lib.concatStringsSep " " flags;
in "${qemu} ${flagsStr}";
iso =
(import ../lib/eval-config.nix {
@ -28,21 +59,16 @@ let
];
}).config.system.build.sdImage;
pythonDict = params: "\n {\n ${concatStringsSep ",\n " (mapAttrsToList (name: param: "\"${name}\": \"${param}\"") params)},\n }\n";
makeBootTest = name: extraConfig:
makeBootTest = name: config:
let
machineConfig = pythonDict ({
qemuBinary = qemu-common.qemuBinary pkgs.qemu_test;
qemuFlags = "-m 768";
} // extraConfig);
startCommand = mkStartCommand config;
in
makeTest {
name = "boot-" + name;
nodes = { };
testScript =
''
machine = create_machine(${machineConfig})
machine = create_machine("${startCommand}")
machine.start()
machine.wait_for_unit("multi-user.target")
machine.succeed("nix store verify --no-trust -r --option experimental-features nix-command /run/current-system")
@ -73,43 +99,35 @@ let
config.system.build.netbootIpxeScript
];
};
machineConfig = pythonDict ({
qemuBinary = qemu-common.qemuBinary pkgs.qemu_test;
qemuFlags = "-boot order=n -m 2000";
netBackendArgs = "tftp=${ipxeBootDir},bootfile=netboot.ipxe";
startCommand = mkStartCommand ({
pxe = ipxeBootDir;
} // extraConfig);
in
makeTest {
name = "boot-netboot-" + name;
nodes = { };
testScript = ''
machine = create_machine(${machineConfig})
machine = create_machine("${startCommand}")
machine.start()
machine.wait_for_unit("multi-user.target")
machine.shutdown()
'';
};
uefiBinary = {
x86_64-linux = "${pkgs.OVMF.fd}/FV/OVMF.fd";
aarch64-linux = "${pkgs.OVMF.fd}/FV/QEMU_EFI.fd";
}.${pkgs.stdenv.hostPlatform.system};
in {
uefiCdrom = makeBootTest "uefi-cdrom" {
uefi = true;
cdrom = "${iso}/iso/${iso.isoName}";
bios = uefiBinary;
};
uefiUsb = makeBootTest "uefi-usb" {
uefi = true;
usb = "${iso}/iso/${iso.isoName}";
bios = uefiBinary;
};
uefiNetboot = makeNetbootTest "uefi" {
bios = uefiBinary;
# Custom ROM is needed for EFI PXE boot. I failed to understand exactly why, because QEMU should still use iPXE for EFI.
netFrontendArgs = "romfile=${pkgs.ipxe}/ipxe.efirom";
uefi = true;
};
} // optionalAttrs (pkgs.stdenv.hostPlatform.system == "x86_64-linux") {
} // lib.optionalAttrs (pkgs.stdenv.hostPlatform.system == "x86_64-linux") {
biosCdrom = makeBootTest "bios-cdrom" {
cdrom = "${iso}/iso/${iso.isoName}";
};
@ -124,9 +142,12 @@ in {
sdImage = "${sd}/sd-image/${sd.imageName}";
mutableImage = "/tmp/linked-image.qcow2";
machineConfig = pythonDict {
bios = "${pkgs.ubootQemuX86}/u-boot.rom";
qemuFlags = "-m 768 -machine type=pc,accel=tcg -drive file=${mutableImage},if=ide,format=qcow2";
startCommand = mkStartCommand {
extraFlags = [
"-bios" "${pkgs.ubootQemuX86}/u-boot.rom"
"-machine" "type=pc,accel=tcg"
"-drive" "file=${mutableImage},if=virtio"
];
};
in makeTest {
name = "boot-uboot-extlinux";
@ -138,11 +159,14 @@ in {
if os.system("qemu-img create -f qcow2 -F raw -b ${sdImage} ${mutableImage}") != 0:
raise RuntimeError("Could not create mutable linked image")
machine = create_machine(${machineConfig})
machine = create_machine("${startCommand}")
machine.start()
machine.wait_for_unit("multi-user.target")
machine.succeed("nix store verify -r --no-trust --option experimental-features nix-command /run/current-system")
machine.shutdown()
'';
# kernel can't find rootfs after boot - investigate?
meta.broken = true;
};
}

View File

@ -61,7 +61,7 @@ with pkgs.lib;
+ " $QEMU_OPTS"
)
machine = create_machine({"startCommand": start_command})
machine = create_machine(start_command)
try:
'' + indentLines script + ''
finally:

View File

@ -83,46 +83,34 @@ let
, postInstallCommands, preBootCommands, postBootCommands, extraConfig
, testSpecialisationConfig, testFlakeSwitch, clevisTest, clevisFallbackTest
}:
let iface = "virtio";
isEfi = bootLoader == "systemd-boot" || (bootLoader == "grub" && grubUseEfi);
bios = if pkgs.stdenv.isAarch64 then "QEMU_EFI.fd" else "OVMF.fd";
let
qemu-common = import ../lib/qemu-common.nix { inherit (pkgs) lib pkgs; };
isEfi = bootLoader == "systemd-boot" || (bootLoader == "grub" && grubUseEfi);
qemu = qemu-common.qemuBinary pkgs.qemu_test;
in if !isEfi && !pkgs.stdenv.hostPlatform.isx86 then ''
machine.succeed("true")
'' else ''
import subprocess
tpm_folder = os.environ['NIX_BUILD_TOP']
def assemble_qemu_flags():
flags = "-cpu max"
${if (system == "x86_64-linux" || system == "i686-linux")
then ''flags += " -m 1024"''
else ''flags += " -m 768 -enable-kvm -machine virt,gic-version=host"''
}
${optionalString clevisTest ''flags += f" -chardev socket,id=chrtpm,path={tpm_folder}/swtpm-sock -tpmdev emulator,id=tpm0,chardev=chrtpm -device tpm-tis,tpmdev=tpm0"''}
${optionalString clevisTest ''flags += " -device virtio-net-pci,netdev=vlan1,mac=52:54:00:12:11:02 -netdev vde,id=vlan1,sock=\"$QEMU_VDE_SOCKET_1\""''}
return flags
qemu_flags = {"qemuFlags": assemble_qemu_flags()}
import os
import subprocess
tpm_folder = os.environ['NIX_BUILD_TOP']
startcommand = "${qemu} -m 2048"
${optionalString clevisTest ''
startcommand += f" -chardev socket,id=chrtpm,path={tpm_folder}/swtpm-sock -tpmdev emulator,id=tpm0,chardev=chrtpm -device tpm-tis,tpmdev=tpm0"
startcommand += " -device virtio-net-pci,netdev=vlan1,mac=52:54:00:12:11:02 -netdev vde,id=vlan1,sock=\"$QEMU_VDE_SOCKET_1\""
''}
${optionalString isEfi ''
startcommand +=" -drive if=pflash,format=raw,unit=0,readonly=on,file=${pkgs.OVMF.firmware} -drive if=pflash,format=raw,unit=1,readonly=on,file=${pkgs.OVMF.variables}"
''}
image_dir = machine.state_dir
disk_image = os.path.join(image_dir, "machine.qcow2")
hd_flags = {
"hdaInterface": "${iface}",
"hda": disk_image,
}
${optionalString isEfi ''
hd_flags.update(
bios="${pkgs.OVMF.fd}/FV/${bios}"
)''
}
default_flags = {**hd_flags, **qemu_flags}
startcommand += f" -drive file={disk_image},if=virtio,werror=report"
def create_machine_named(name):
return create_machine({**default_flags, "name": name})
return create_machine(startcommand, name=name)
class Tpm:
def __init__(self):
@ -471,7 +459,7 @@ let
# builds stuff in the VM, needs more juice
virtualisation.diskSize = 8 * 1024;
virtualisation.cores = 8;
virtualisation.memorySize = 1536;
virtualisation.memorySize = 2048;
boot.initrd.systemd.enable = systemdStage1;

View File

@ -30,7 +30,6 @@ let
linux_5_10_hardened
linux_5_15_hardened
linux_6_1_hardened
linux_6_5_hardened
linux_6_6_hardened
linux_6_7_hardened
linux_rt_5_4

View File

@ -8,7 +8,7 @@
src = fetchurl {
url = "https://github.com/upscayl/upscayl/releases/download/v${version}/upscayl-${version}-linux.AppImage";
hash = "sha256-33jJRMvRQxL7rPJ6VigEKcDhge46CAA0jJUOhzEyWzA=";
hash = "sha256-EoTFvlLsXQYZldXfEHhP3/bHygm+NdeDsf+p138mM8w";
};
appimageContents = appimageTools.extractType2 {

View File

@ -7,7 +7,7 @@
((buildMozillaMach rec {
pname = "floorp";
packageVersion = "11.10.2";
packageVersion = "11.10.5";
applicationName = "Floorp";
binaryName = "floorp";
branding = "browser/branding/official";
@ -20,7 +20,7 @@
repo = "Floorp";
fetchSubmodules = true;
rev = "v${packageVersion}";
hash = "sha256-fjLYR59AZaR6S1zcAT+DNpdsCdrW+3NdkRQBoVNdwYw=";
hash = "sha256-uKgN74xn0v86E/YfqbJNnMIR3gS+3dhdgLJ5VUerurQ=";
};
extraConfigureFlags = [

View File

@ -125,7 +125,7 @@ callPackage (import ./generic.nix (rec {
++ optional (withSeabios) "--with-system-seabios=${seabios}/share/seabios"
++ optional (!withInternalSeabios && !withSeabios) "--disable-seabios"
++ optional (withOVMF) "--with-system-ovmf=${OVMF.fd}/FV/OVMF.fd"
++ optional (withOVMF) "--with-system-ovmf=${OVMF.firmware}"
++ optional (withInternalOVMF) "--enable-ovmf";
NIX_CFLAGS_COMPILE = toString [

View File

@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec {
pname = "bpftop";
version = "0.2.1";
version = "0.2.2";
src = fetchFromGitHub {
owner = "Netflix";
repo = "bpftop";
rev = "v${version}";
hash = "sha256-HP8ubzCfBNgISrAyLACylH4PHxLhJPzIQFmIWEL5gjo=";
hash = "sha256-1Wgfe+M1s3hxcN9g1KiBeZycdgpMiHy5FWlE0jlNq/U=";
};
cargoHash = "sha256-+zh7GZ/fbhxLNQkkHFZqtJxy2IeS+KX5s2Qi5N21u/0=";
cargoHash = "sha256-CrAH3B3dCg3GsxvRrVp/jx3YSpmEg4/jyNuXUO/zeq0=";
buildInputs = [
elfutils
@ -34,7 +34,10 @@ rustPlatform.buildRustPackage rec {
description = "A dynamic real-time view of running eBPF programs";
homepage = "https://github.com/Netflix/bpftop";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ mfrw ];
maintainers = with lib.maintainers; [
_0x4A6F
mfrw
];
mainProgram = "bpftop";
};
}

View File

@ -0,0 +1,34 @@
{ lib
, rustPlatform
, fetchFromGitHub
, stdenv
, darwin
}:
rustPlatform.buildRustPackage rec {
pname = "flake-checker";
version = "0.1.16";
src = fetchFromGitHub {
owner = "DeterminateSystems";
repo = "flake-checker";
rev = "v${version}";
hash = "sha256-n20qW7TS/FSaRseyGFbgJ0qy3ILQRjzEpbFRLT6crI8=";
};
cargoHash = "sha256-inwVhy31T0jFpdAXh3So3kfFezeKkBG9HzxAQ1+7FXQ=";
buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
Security
SystemConfiguration
]);
meta = with lib; {
description = "Health checks for your Nix flakes";
homepage = "https://github.com/${src.owner}/${src.repo}";
changelog = "https://github.com/${src.owner}/${src.repo}/releases/tag/${src.rev}";
license = licenses.asl20;
maintainers = with maintainers; [ lucperkins ];
mainProgram = "flake-checker";
};
}

View File

@ -14,16 +14,6 @@
, libdrm
, mesa
, nix-update-script
, expat
, libXdmcp
, pcre2
, util-linux
, libselinux
, libsepol
, pcre
, fribidi
, libthai
, libdatrie
}:
stdenv.mkDerivation (finalAttrs: {
@ -46,23 +36,13 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
cairo
expat
fribidi
hyprlang
libdatrie
libdrm
libGL
libselinux
libsepol
libthai
libXdmcp
libxkbcommon
mesa
pam
pango
pcre
pcre2
util-linux
wayland
wayland-protocols
];

View File

@ -0,0 +1,42 @@
{ lib
, buildGoModule
, fetchFromGitea
, installShellFiles
}:
buildGoModule rec {
pname = "ipam";
version = "0.3.0-1";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "lauralani";
repo = "ipam";
rev = "v${version}";
hash = "sha256-6gOkBjXgaMMWFRXFTSBY9YaNPdMRyLl8wy7BT/5vHio=";
};
nativeBuildInputs = [
installShellFiles
];
vendorHash = "sha256-l8eeeYv41yUPQ1dyJY4Jo3uvULrc1B/buGlMxYSdhCA=";
ldflags = [ "-s" "-w" ];
postInstall = ''
installShellCompletion --cmd ipam \
--bash <($out/bin/ipam completion bash) \
--fish <($out/bin/ipam completion fish) \
--zsh <($out/bin/ipam completion zsh)
'';
meta = with lib; {
description = "A cli based IPAM written in Go with PowerDNS support";
homepage = "https://ipam.lauka.net/";
changelog = "https://codeberg.org/lauralani/ipam/releases/tag/v${version}";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ janik ];
mainProgram = "ipam";
};
}

View File

@ -0,0 +1,33 @@
{ lib
, python3
, fetchFromGitHub
}:
python3.pkgs.buildPythonApplication rec {
pname = "loramon";
version = "0.9.7";
pyproject = true;
src = fetchFromGitHub {
owner = "markqvist";
repo = "LoRaMon";
rev = "refs/tags/${version}";
hash = "sha256-94tXhuAoaS1y/zGz63PPqOayRylGK0Ei2a6H4/BCB30";
};
nativeBuildInputs = with python3.pkgs; [
setuptools
];
propagatedBuildInputs = with python3.pkgs; [
pyserial
];
meta = with lib; {
description = "LoRa packet sniffer for RNode hardware";
homepage = "https://github.com/markqvist/LoRaMon";
changelog = "https://github.com/markqvist/LoRaMon/releases/tag/${version}";
license = licenses.mit;
maintainers = with maintainers; [ erethon ];
};
}

View File

@ -6,13 +6,13 @@
buildDotnetModule rec {
pname = "lubelogger";
version = "1.2.2";
version = "1.2.3";
src = fetchFromGitHub {
owner = "hargata";
repo = "lubelog";
rev = "v${version}";
hash = "sha256-eH8BWTUTzmVTOnn5svSfk8hqf8CjIpQdxoknlkgjVDY=";
hash = "sha256-vYtIrusaprqLNXxb0pyi3a5XX5d1OBpjat0CwvnyCz4=";
};
projectFile = "CarCareTracker.sln";

2544
pkgs/by-name/my/mycelium/Cargo.lock generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,39 @@
{ lib
, rustPlatform
, fetchFromGitHub
, stdenv
, darwin
}:
rustPlatform.buildRustPackage rec {
pname = "mycelium";
version = "0.4.2";
src = fetchFromGitHub {
owner = "threefoldtech";
repo = "mycelium";
rev = "v${version}";
hash = "sha256-VWrWg9UpBSug0cvY/zuzGFI6Y0CRFcrh1Cy4mbYtg9Q=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"tun-0.6.1" = "sha256-DelNPCOWvVSMS2BNGA2Gw/Mn9c7RdFNR21/jo1xf+xk=";
};
};
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Security
darwin.apple_sdk.frameworks.SystemConfiguration
];
meta = with lib; {
description = "End-2-end encrypted IPv6 overlay network";
homepage = "https://github.com/threefoldtech/mycelium";
changelog = "https://github.com/threefoldtech/mycelium/blob/${src.rev}/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ matthewcroughan ];
mainProgram = "mycelium";
};
}

View File

@ -0,0 +1,171 @@
{ lib
, stdenv
, fetchurl
, autoPatchelfHook
, libX11
, libXpm
, alsa-lib
, bzip2
, zlib
, libsForQt5
, libgcc
, makeWrapper
, copyDesktopItems
, makeDesktopItem
}:
stdenv.mkDerivation rec {
pname = "stereotool";
version = "10.21";
srcs =
let
versionNoPoint = lib.replaceStrings [ "." ] [ "" ] version;
in
[
(fetchurl {
name = "stereo-tool-icon.png";
url = "https://download.thimeo.com/stereo_tool_icon_${versionNoPoint}.png";
hash = "sha256-dcivH6Cc7pdQ99m80vS4E5mp/SHtTlNu1EHc+0ALIGM=";
})
] ++ (
{
# Alsa version for 64bits.
x86_64-linux = [
(fetchurl {
name = "alsa";
url = "https://download.thimeo.com/stereo_tool_gui_64_${versionNoPoint}";
hash = "sha256-ByRguhZ29ertQM3q+TPUUT1BMnAJGbwNe8WbNxLhcmk=";
})
# Jack version for 64bits.
(fetchurl {
name = "jack";
url = "https://download.thimeo.com/stereo_tool_gui_jack_64_${versionNoPoint}";
hash = "sha256-ByRguhZ29ertQM3q+TPUUT1BMnAJGbwNe8WbNxLhcmk=";
})
# Cmd version for 64bits
(fetchurl {
name = "cmd";
url = "https://download.thimeo.com/stereo_tool_cmd_64_${versionNoPoint}";
hash = "sha256-PGheJfOQJzI1gs05qW9vcAMoVnCPIHR2qS0GIg5V6vw=";
})
];
# Sources if the system is aarch64-linux
aarch64-linux = [
(fetchurl {
name = "alsa";
url = "https://download.thimeo.com/stereo_tool_gui_pi2_64_${versionNoPoint}";
hash = "sha256-iwoc6c+ox+2DSqmiz8mpDotDjqki7iL0jgqc7Z1htNI=";
})
(fetchurl {
name = "jack";
url = "https://download.thimeo.com/stereo_tool_gui_jack_pi2_64_${versionNoPoint}";
hash = "sha256-iwoc6c+ox+2DSqmiz8mpDotDjqki7iL0jgqc7Z1htNI==";
})
(fetchurl {
name = "cmd";
url = "https://download.thimeo.com/stereo_tool_pi2_64_${versionNoPoint}";
hash = "sha256-bIFnQkJB9XoEKo7IG+MSMvx/ia1C8i97Cw7EX4EDizk=";
})
];
# Sources if the system is aarch32-linux
aarch32-linux = [
(fetchurl {
name = "alsa";
url = "https://download.thimeo.com/stereo_tool_gui_pi2_${versionNoPoint}";
hash = "sha256-922yqmis5acvASU2rEi5YzFLAUuDO7BiEiW49RKfcoU=";
})
(fetchurl {
name = "jack";
url = "https://download.thimeo.com/stereo_tool_gui_jack_pi2_${versionNoPoint}";
hash = "sha256-922yqmis5acvASU2rEi5YzFLAUuDO7BiEiW49RKfcoU=";
})
(fetchurl {
name = "cmd";
url = "https://download.thimeo.com/stereo_tool_pi2_${versionNoPoint}";
hash = "sha256-xKM5Mg6gEAvbp63rd81ssnx2Bj1hUylCo36mQBYwIvg=";
})
];
# Sources if the system is 32bits i686
i686-linux = [
(fetchurl {
# The name is the name of this source in the build directory
name = "alsa";
url = "https://download.thimeo.com/stereo_tool_gui_${versionNoPoint}";
hash = "sha256-iEPqJvmXKXD4AVbM+1QZeUOwpMjMT7ROYNQpmhRVZyw=";
})
(fetchurl {
name = "jack";
url = "https://download.thimeo.com/stereo_tool_gui_jack_${versionNoPoint}";
hash = "sha256-iEPqJvmXKXD4AVbM+1QZeUOwpMjMT7ROYNQpmhRVZyw=";
})
(fetchurl {
name = "cmd";
url = "https://download.thimeo.com/stereo_tool_cmd_${versionNoPoint}";
hash = "sha256-sk13wj7XvuwTDWWW6tMYHdTV9XjPeHe6hHv2JPBxBLA=";
})
];
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"));
unpackPhase = ''
for srcFile in $srcs; do
cp $srcFile $(stripHash $srcFile)
done
'';
nativeBuildInputs = [
autoPatchelfHook
makeWrapper
copyDesktopItems
];
desktopItems = [
(makeDesktopItem {
name = "stereotool-alsa";
desktopName = "Stereotool-Alsa";
exec = "stereo_tool_gui";
icon = "stereo-tool-icon";
comment = "Broadcast Audio Processing";
categories = [ "AudioVideo" "Audio" "AudioVideoEditing" ];
})
(makeDesktopItem {
name = "stereotool-jack";
desktopName = "Stereotool-Jack";
exec = "stereo_tool_gui_jack";
icon = "stereo-tool-icon";
comment = "Broadcast Audio Processing";
categories = [ "AudioVideo" "Audio" "AudioVideoEditing" ];
})
];
buildInputs = [
libX11
alsa-lib
bzip2
zlib
libXpm
libgcc
];
installPhase = ''
runHook preInstall
install -Dm755 alsa $out/bin/stereo_tool_gui
wrapProgram $out/bin/stereo_tool_gui --prefix PATH : ${lib.makeBinPath [ libsForQt5.kdialog ]}
install -Dm755 jack $out/bin/stereo_tool_gui_jack
wrapProgram $out/bin/stereo_tool_gui_jack --prefix PATH : ${lib.makeBinPath [ libsForQt5.kdialog ]}
install -Dm755 cmd $out/bin/stereo_tool_cmd
mkdir -p $out/share/icons/hicolor/48x48/apps
cp stereo-tool-icon.png $out/share/icons/hicolor/48x48/apps/stereo-tool-icon.png
runHook postInstall
'';
meta = with lib; {
homepage = "https://www.thimeo.com/stereo-tool/";
description = "Stereo Tool is a software-based audio processor which offers outstanding audio quality and comes with many unique features.";
license = licenses.unfree;
mainProgram = "stereo_tool_gui";
platforms = [ "aarch64-linux" "aarch32-linux" "x86_64-linux" "i686-linux" ];
maintainers = with maintainers; [ RudiOnTheAir ];
};
}

View File

@ -14,13 +14,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "tigerbeetle";
version = "0.14.180";
version = "0.14.181";
src = fetchFromGitHub {
owner = "tigerbeetle";
repo = "tigerbeetle";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-6rZWV88cGNLnyQCF2zU+MYH+MTEx9cjSorDdO754ZU0=";
hash = "sha256-BtaPSMQn6Rq6wiYQZb1f+vM9sjrV9HVrvQ9DAQFE+zk=";
};
nativeBuildInputs = [ custom_zig_hook ];

View File

@ -2,50 +2,37 @@
, stdenv
, fetchFromGitHub
, ocamlPackages
, ncurses
, copyDesktopItems
, makeDesktopItem
, wrapGAppsHook
, gsettings-desktop-schemas
, zlib
, enableX11 ? true
, Cocoa
, enableX11 ? !stdenv.isDarwin
}:
stdenv.mkDerivation (finalAttrs: {
pname = "unison";
version = "2.53.2";
version = "2.53.4";
src = fetchFromGitHub {
owner = "bcpierce00";
repo = "unison";
rev = "v${finalAttrs.version}";
sha256 = "sha256-H+70NZZP0cUsxetFcsjWEx2kENsgMdo/41wBwwaX6zg=";
hash = "sha256-nFT6FjlQjh6qx0fepmT4aiQj2SxA7U/as+IU9xXNok0=";
};
strictDeps = true;
nativeBuildInputs = [ ocamlPackages.ocaml ]
# uimac requires xcode
postPatch = ''
sed -i -e 's/ macuimaybe//' src/Makefile
'';
nativeBuildInputs = [ ocamlPackages.ocaml ocamlPackages.findlib ]
++ lib.optionals enableX11 [ copyDesktopItems wrapGAppsHook ];
buildInputs = [ ncurses zlib ]
++ lib.optionals enableX11 [ gsettings-desktop-schemas ]
++ lib.optionals stdenv.isDarwin [ Cocoa ];
buildInputs = lib.optionals enableX11 [ gsettings-desktop-schemas ocamlPackages.lablgtk3 ];
preBuild = lib.optionalString enableX11 ''
sed -i "s|\(OCAMLOPT=.*\)$|\1 -I $(echo "${ocamlPackages.lablgtk3}"/lib/ocaml/*/site-lib/lablgtk3)|" src/Makefile.OCaml
sed -i "s|\(OCAMLOPT=.*\)$|\1 -I $(echo "${ocamlPackages.cairo2}"/lib/ocaml/*/site-lib/cairo2)|" src/Makefile.OCaml
'' + ''
echo -e '\ninstall:\n\tcp $(FSMONITOR)$(EXEC_EXT) $(INSTALLDIR)' >> src/fsmonitor/linux/Makefile
'';
makeFlags = [
"INSTALLDIR=$(out)/bin/"
"UISTYLE=${if enableX11 then "gtk3" else "text"}"
] ++ lib.optional (!ocamlPackages.ocaml.nativeCompilers) "NATIVE=false";
preInstall = ''
mkdir -p $out/bin
'';
makeFlags = [ "PREFIX=$(out)" ]
++ lib.optionals (!ocamlPackages.ocaml.nativeCompilers) [ "NATIVE=false" ];
postInstall = lib.optionalString enableX11 ''
install -D $src/icons/U.svg $out/share/icons/hicolor/scalable/apps/unison.svg
@ -58,7 +45,7 @@ stdenv.mkDerivation (finalAttrs: {
desktopName = "Unison";
comment = "Bidirectional file synchronizer";
genericName = "File synchronization tool";
exec = "unison";
exec = "unison-gui";
icon = "unison";
categories = [ "Utility" "FileTools" "GTK" ];
startupNotify = true;
@ -69,8 +56,9 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://www.cis.upenn.edu/~bcpierce/unison/";
description = "Bidirectional file synchronizer";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ viric ];
maintainers = with maintainers; [ viric nevivurn ];
platforms = platforms.unix;
mainProgram = "unison";
broken = stdenv.isDarwin && enableX11; # unison-gui and uimac are broken on darwin
mainProgram = if enableX11 then "unison-gui" else "unison";
};
})

View File

@ -0,0 +1,44 @@
{ lib
, fetchFromGitHub
, buildDunePackage
, xxHash
, ctypes
, dune-configurator
, ppx_expect
}:
buildDunePackage rec {
pname = "xxhash";
version = "0.2";
minimalOCamlVersion = "4.08";
src = fetchFromGitHub {
owner = "314eter";
repo = "ocaml-xxhash";
rev = "refs/tags/v${version}";
hash = "sha256-0+ac5EWV9DCVMT4wOcXC95GVEwsUIZzFn2laSzmK6jE=";
};
buildInputs = [
dune-configurator
];
propagatedBuildInputs = [
ctypes
xxHash
];
doCheck = true;
checkInputs = [
ppx_expect
];
meta = {
homepage = "https://github.com/314eter/ocaml-xxhash";
description = "Bindings for xxHash, an extremely fast hash algorithm";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ toastal ];
};
}

View File

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "aioautomower";
version = "2024.2.8";
version = "2024.2.9";
pyproject = true;
disabled = pythonOlder "3.11";
@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "Thomas55555";
repo = "aioautomower";
rev = "refs/tags/${version}";
hash = "sha256-YdC6459lEvHDnX4L26n28oGzDSsa7/8UGHjnONhn9Yo=";
hash = "sha256-vjg7y+9E4R1Q7h+ao/ttuRbvui4u5hESR8tImWSO04U=";
};
postPatch = ''

View File

@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "aiomysensors";
version = "0.3.11";
version = "0.3.12";
pyproject = true;
disabled = pythonOlder "3.9";
@ -24,12 +24,12 @@ buildPythonPackage rec {
owner = "MartinHjelmare";
repo = "aiomysensors";
rev = "refs/tags/v${version}";
hash = "sha256-uBmFJFmUClTkaAg8jTThygzmZv7UZDPSt0bXo8BLu00=";
hash = "sha256-9M5WuBoezbZr7OwJaM0m2CqibziJVwqANGOhiJrqfxA=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace " --cov=src --cov-report=term-missing:skip-covered" ""
--replace-fail " --cov=src --cov-report=term-missing:skip-covered" ""
'';
nativeBuildInputs = [

View File

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "aioshelly";
version = "8.0.1";
version = "8.0.2";
pyproject = true;
disabled = pythonOlder "3.10";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "home-assistant-libs";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-3W5XfSOaKCCBjDHJh8IP/5I48py3j6i2O3FfhbcQzbY=";
hash = "sha256-wDEHHc+TFlrp2X2/03NNxZut1bn1Sn7y4Sk5nGYBvEs=";
};
nativeBuildInputs = [

View File

@ -2,11 +2,7 @@
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
# build-system
, poetry-core
# tests
, pytest-snapshot
, pytestCheckHook
}:
@ -14,13 +10,13 @@
buildPythonPackage rec {
pname = "awesomeversion";
version = "24.2.0";
format = "pyproject";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "ludeeus";
repo = pname;
repo = "awesomeversion";
rev = "refs/tags/${version}";
hash = "sha256-bpLtHhpWc1VweVl5G8mM473Js3bXT11N3Zc0jiVqq5c=";
};
@ -28,7 +24,7 @@ buildPythonPackage rec {
postPatch = ''
# Upstream doesn't set a version
substituteInPlace pyproject.toml \
--replace 'version = "0"' 'version = "${version}"'
--replace-fail 'version = "0"' 'version = "${version}"'
'';
nativeBuildInputs = [

View File

@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "langchain-core";
version = "0.1.26";
version = "0.1.27";
pyproject = true;
disabled = pythonOlder "3.8";
@ -24,7 +24,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "langchain_core";
inherit version;
hash = "sha256-YYZ1jWIBVyOqxn7xogVWldA+gsTdQHQheXWwxi+vSxc=";
hash = "sha256-aYQUIjUlwLwTDYWmFOFJOQXViKty/gya07U3sdxiBn8=";
};
pythonRelaxDeps = [

View File

@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "langsmith";
version = "0.1.8";
version = "0.1.10";
pyproject = true;
disabled = pythonOlder "3.8";
@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = "langchain-ai";
repo = "langsmith-sdk";
rev = "refs/tags/v${version}";
hash = "sha256-te5sx4qveuA4Pi8BzqS1/fBR0AtVEq0MtbZiNohjjPA=";
hash = "sha256-9My/0DPN6AwAFoAiTdl6jd2GtX4fpFIgpnZe/WzAi9c=";
};
sourceRoot = "${src.name}/python";

View File

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "pyrisco";
version = "0.5.9";
version = "0.5.10";
pyproject = true;
disabled = pythonOlder "3.7";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "OnFreund";
repo = "pyrisco";
rev = "refs/tags/v${version}";
hash = "sha256-qapJcYesOddXFChApFT7hvxLblUigDW40zRe6CYWx+s=";
hash = "sha256-3wa6hayyjWdDVqbLPCqIZ4lgcy1/EdFH4ZVggSRizZU=";
};
nativeBuildInputs = [

View File

@ -20,7 +20,7 @@
}:
let
pname = "snorkel";
version = "0.9.9";
version = "0.10.0";
in
buildPythonPackage {
inherit pname version;
@ -31,8 +31,8 @@ buildPythonPackage {
src = fetchFromGitHub {
owner = "snorkel-team";
repo = pname;
rev = "v${version}";
hash = "sha256-IDWYvblS0Q8ubuHzgIc7fU/gwpJ43Dd7VMWycMfAJxc=";
rev = "refs/tags/v${version}";
hash = "sha256-1DgkMHYToiI3266yCND1bXiui80x8AaBttxM83kJImw=";
};
propagatedBuildInputs = [

View File

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "tesla-fleet-api";
version = "0.4.4";
version = "0.4.6";
pyproject = true;
disabled = pythonOlder "3.10";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "Teslemetry";
repo = "python-tesla-fleet-api";
rev = "refs/tags/v${version}";
hash = "sha256-80VjSg94gCXzqy6Z/yuDblYgo4TlJdxR+jsOiY/Zhng=";
hash = "sha256-4IXLtQyEi4R7aakaLCl9jpm3D/Es3wLIwigSTYK12kg=";
};
nativeBuildInputs = [

View File

@ -17,16 +17,16 @@
buildPythonPackage rec {
pname = "wagtail-localize";
version = "1.8";
format = "pyproject";
version = "1.8.1";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
repo = pname;
repo = "wagtail-localize";
owner = "wagtail";
rev = "refs/tags/v${version}";
hash = "sha256-K4TOW4q8vD9vaNJzSEtmQBgO/dOxcWKKUp2FE3JLIbE=";
hash = "sha256-WOkixwcGvsH4vgL7KAQeeGtoh3+Usr9drXb3Uho1AS0=";
};
nativeBuildInputs = [

View File

@ -6,12 +6,13 @@
, paho-mqtt
, python-dateutil
, weconnect
, setuptools
}:
buildPythonPackage rec {
pname = "weconnect-mqtt";
version = "0.48.4";
format = "setuptools";
pyproject = true;
disabled = pythonOlder "3.8";
@ -23,15 +24,19 @@ buildPythonPackage rec {
};
postPatch = ''
substituteInPlace requirements.txt \
--replace "weconnect[Images]~=" "weconnect>="
substituteInPlace weconnect_mqtt/__version.py \
--replace "develop" "${version}"
--replace-fail "0.0.0dev" "${version}"
substituteInPlace requirements.txt \
--replace-fail "weconnect[Images]~=" "weconnect>="
substituteInPlace pytest.ini \
--replace "--cov=weconnect_mqtt --cov-config=.coveragerc --cov-report html" "" \
--replace "pytest-cov" ""
--replace-fail "--cov=weconnect_mqtt --cov-config=.coveragerc --cov-report html" "" \
--replace-fail "pytest-cov" ""
'';
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
paho-mqtt
python-dateutil

View File

@ -2,18 +2,18 @@
, ascii-magic
, buildPythonPackage
, fetchFromGitHub
, oauthlib
, pillow
, pytest-httpserver
, pytestCheckHook
, pythonOlder
, requests
, oauthlib
, setuptools
}:
buildPythonPackage rec {
pname = "weconnect";
version = "0.59.5";
format = "setuptools";
version = "0.60.1";
pyproject = true;
disabled = pythonOlder "3.8";
@ -21,9 +21,24 @@ buildPythonPackage rec {
owner = "tillsteinbach";
repo = "WeConnect-python";
rev = "refs/tags/v${version}";
hash = "sha256-ujIA98QD8ds2/iLLeJqn88nY9tZuuOSnOwGvRznA8PQ=";
hash = "sha256-hvV4pbCyzAbi3bKXClzpiyhp+4qnuIj5pViUe7pEq64=";
};
postPatch = ''
substituteInPlace weconnect/__version.py \
--replace-fail "0.0.0dev" "${version}"
substituteInPlace setup.py \
--replace-fail "setup_requires=SETUP_REQUIRED" "setup_requires=[]" \
--replace-fail "tests_require=TEST_REQUIRED" "tests_require=[]"
substituteInPlace pytest.ini \
--replace-fail "--cov=weconnect --cov-config=.coveragerc --cov-report html" "" \
--replace-fail "required_plugins = pytest-cov" ""
'';
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
oauthlib
requests
@ -37,24 +52,9 @@ buildPythonPackage rec {
};
nativeCheckInputs = [
pytest-httpserver
pytestCheckHook
];
postPatch = ''
substituteInPlace weconnect/__version.py \
--replace "develop" "${version}"
substituteInPlace setup.py \
--replace "setup_requires=SETUP_REQUIRED," "setup_requires=[]," \
--replace "tests_require=TEST_REQUIRED," "tests_require=[],"
substituteInPlace image_extra_requirements.txt \
--replace "pillow~=" "pillow>=" \
--replace "ascii_magic~=" "ascii_magic>="
substituteInPlace pytest.ini \
--replace "--cov=weconnect --cov-config=.coveragerc --cov-report html" "" \
--replace "required_plugins = pytest-httpserver pytest-cov" ""
'';
pythonImportsCheck = [
"weconnect"
];

View File

@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "yalexs";
version = "1.11.3";
version = "1.11.4";
pyproject = true;
disabled = pythonOlder "3.9";
@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "bdraco";
repo = "yalexs";
rev = "refs/tags/v${version}";
hash = "sha256-BO+tgRHQsvRkkueIHa56YABfK5+QqnRlGrRtNHqI1v4=";
hash = "sha256-LzjkR60zelxV8N4i68M31yJJLEThUgz6+hYd6d+EHx4=";
};
postPatch = ''

View File

@ -61,8 +61,8 @@ stdenv.mkDerivation rec {
postPatch = ''
sed -i \
-e '/OVMF_CODE_4M.secboot.fd/s|ovmfs=(|ovmfs=("${OVMFFull.fd}/FV/OVMF_CODE.fd","${OVMFFull.fd}/FV/OVMF_VARS.fd" |' \
-e '/OVMF_CODE_4M.fd/s|ovmfs=(|ovmfs=("${OVMF.fd}/FV/OVMF_CODE.fd","${OVMF.fd}/FV/OVMF_VARS.fd" |' \
-e '/OVMF_CODE_4M.secboot.fd/s|ovmfs=(|ovmfs=("${OVMFFull.firmware}","${OVMFFull.variables}" |' \
-e '/OVMF_CODE_4M.fd/s|ovmfs=(|ovmfs=("${OVMF.firmware}","${OVMF.variables}" |' \
-e '/cp "''${VARS_IN}" "''${VARS_OUT}"/a chmod +w "''${VARS_OUT}"' \
-e 's/Icon=.*qemu.svg/Icon=qemu/' \
quickemu

View File

@ -3,10 +3,6 @@
"version": "6.8-rc6",
"hash": "sha256:03ci53snbv917ccyjdm3xzl2fwijq5da7nkg05dpwb99wrzp8fkd"
},
"6.5": {
"version": "6.5.13",
"hash": "sha256:1dfbbydmayfj9npx3z0g38p574pmcx3qgs49dv0npigl48wd9yvq"
},
"6.1": {
"version": "6.1.79",
"hash": "sha256:16xkd0hcslqlcf55d4ivzhf1fkhfs5yy0m9arbax8pmm5yi9r97s"

View File

@ -2,7 +2,7 @@
buildGoModule rec {
pname = "consul";
version = "1.17.3";
version = "1.18.0";
# Note: Currently only release tags are supported, because they have the Consul UI
# vendored. See
@ -16,7 +16,7 @@ buildGoModule rec {
owner = "hashicorp";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-uJN28p2fPQBBkqnlUWrlBwTNfmHr3Pn/4JiMbOBBppI=";
hash = "sha256-Xhh6Rrcv/FoBjzhWR59gQ/R4A3ynqWYS8djNe3CnGCE=";
};
passthru.tests.consul = nixosTests.consul;
@ -25,7 +25,7 @@ buildGoModule rec {
# has a split module structure in one repo
subPackages = ["." "connect/certgen"];
vendorHash = "sha256-ToSCLAX+rNcUTnBBVWkWhLX+wjy7Y4vGLKuny1Ye3kY=";
vendorHash = "sha256-pNFjLXjtgsK8fjCCmjYclZw1GM4BfyzkTuaRCRIMJ3c=";
doCheck = false;

View File

@ -24,7 +24,14 @@
let
pname = "ollama";
version = "0.1.26";
version = "0.1.27";
src = fetchFromGitHub {
owner = "jmorganca";
repo = "ollama";
rev = "v${version}";
hash = "sha256-+ayby+yVknFHLTyLjMAPMnOTMSzTKqzi9caN/TppcEg=";
fetchSubmodules = true;
};
validAccel = lib.assertOneOf "ollama.acceleration" acceleration [ null "rocm" "cuda" ];
@ -74,14 +81,6 @@ let
buildGoModule.override { stdenv = overrideCC stdenv gcc12; }
else
buildGoModule;
src = fetchFromGitHub {
owner = "jmorganca";
repo = "ollama";
rev = "v${version}";
hash = "sha256-Kw3tt9ayEMgI2V6OeaOkWfNwqfCL7MDD/nN5iXk5LnY=";
fetchSubmodules = true;
};
preparePatch = patch: hash: fetchpatch {
url = "file://${src}/llm/patches/${patch}";
inherit hash;

View File

@ -31,16 +31,16 @@ let
in
buildGoModule rec {
pname = "netbird";
version = "0.26.0";
version = "0.26.1";
src = fetchFromGitHub {
owner = "netbirdio";
repo = pname;
rev = "v${version}";
hash = "sha256-hZnxemBoMAol0m9XZPMEh/Lf0woxoLNH97bRyg8xtv4=";
hash = "sha256-FZ6bPn4birCjvWm43clu3lAES38IooLP7PhUfRMO5+0=";
};
vendorHash = "sha256-csa83P74Y9fHsPg5VgPfR9WMg4VKOXcIR0pOMzh0QoA=";
vendorHash = "sha256-Zp8LAaADpSa/wfnLAQVJ8cG3bMkC7ZU1BT+Dz214c34=";
nativeBuildInputs = [ installShellFiles ] ++ lib.optional ui pkg-config;
@ -73,9 +73,9 @@ buildGoModule rec {
postPatch = ''
# make it compatible with systemd's RuntimeDirectory
substituteInPlace client/cmd/root.go \
--replace 'unix:///var/run/netbird.sock' 'unix:///var/run/netbird/sock'
--replace-fail 'unix:///var/run/netbird.sock' 'unix:///var/run/netbird/sock'
substituteInPlace client/ui/client_ui.go \
--replace 'unix:///var/run/netbird.sock' 'unix:///var/run/netbird/sock'
--replace-fail 'unix:///var/run/netbird.sock' 'unix:///var/run/netbird/sock'
'';
postInstall = lib.concatStringsSep "\n"
@ -90,13 +90,13 @@ buildGoModule rec {
'')
modules) + lib.optionalString (stdenv.isLinux && ui) ''
mkdir -p $out/share/pixmaps
cp $src/client/ui/netbird-systemtray-default.png $out/share/pixmaps/netbird.png
cp $src/client/ui/netbird-systemtray-connected.png $out/share/pixmaps/netbird.png
mkdir -p $out/share/applications
cp $src/client/ui/netbird.desktop $out/share/applications/netbird.desktop
substituteInPlace $out/share/applications/netbird.desktop \
--replace "Exec=/usr/bin/netbird-ui" "Exec=$out/bin/netbird-ui"
--replace-fail "Exec=/usr/bin/netbird-ui" "Exec=$out/bin/netbird-ui"
'';
passthru = {

View File

@ -14,17 +14,17 @@ in
assert stdenv.isLinux; # better than `called with unexpected argument 'enableJavaFX'`
mavenJdk.buildMavenPackage rec {
pname = "cryptomator";
version = "1.11.1";
version = "1.12.3";
src = fetchFromGitHub {
owner = "cryptomator";
repo = "cryptomator";
rev = version;
hash = "sha256-Y+oG2NF4Vsklp1W22Xv+XrkY6vwn23FkzAXG/5828Og=";
hash = "sha256-pVQ3xlNgJIDz8dnNoiLJaG6y4kNHNLL7zYq1sl6rleY=";
};
mvnParameters = "-Dmaven.test.skip=true -Plinux";
mvnHash = "sha256-cXmnJHgKW6SGnhHFuFJP/DKNmFacfHbC3nQ2uVdIvUE=";
mvnHash = "sha256-Zx2HhgmebF8UOp+2JKl2+FGA98aPRSUTIduHPTtgAjI=";
preBuild = ''
VERSION=${version}

View File

@ -5,16 +5,16 @@
buildGoModule rec {
pname = "terrascan";
version = "1.18.11";
version = "1.18.12";
src = fetchFromGitHub {
owner = "accurics";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-BICXMSkfGDXOqBH+4UlJmqkUSV+oZa1wg7c20EtJ3WI=";
hash = "sha256-NTk/tCIArucJ12RR173bQ/VoP74oROYwmMrQizE+5iU=";
};
vendorHash = "sha256-9zD81p/UjH43B0aeqlItP9vrGMaT/zhVYv60ot153Gc=";
vendorHash = "sha256-Hk7dkhb1GiCY9CkKZ1dMQc+s97VRUli7WAoneJVNK08=";
# Tests want to download a vulnerable Terraform project
doCheck = false;

View File

@ -70,8 +70,8 @@ stdenv.mkDerivation
# Patch the patch of the OVMF binaries to use paths from the nix store.
substituteInPlace ./src/platform/backends/qemu/linux/qemu_platform_detail_linux.cpp \
--replace "OVMF.fd" "${OVMF.fd}/FV/OVMF.fd" \
--replace "QEMU_EFI.fd" "${OVMF.fd}/FV/QEMU_EFI.fd"
--replace "OVMF.fd" "${OVMF.firmware}" \
--replace "QEMU_EFI.fd" "${OVMF.firmware}"
# Copy the grpc submodule we fetched into the source code.
cp -r --no-preserve=mode ${grpc_src} 3rd-party/grpc
@ -122,7 +122,6 @@ stdenv.mkDerivation
dnsmasq
iproute2
iptables
OVMF.fd
qemu
qemu-utils
xterm

View File

@ -27889,8 +27889,6 @@ with pkgs;
linux_5_15_hardened = linuxKernel.kernels.linux_5_15_hardened;
linuxPackages_6_1_hardened = linuxKernel.packages.linux_6_1_hardened;
linux_6_1_hardened = linuxKernel.kernels.linux_6_1_hardened;
linuxPackages_6_5_hardened = linuxKernel.packages.linux_6_5_hardened;
linux_6_5_hardened = linuxKernel.kernels.linux_6_5_hardened;
linuxPackages_6_6_hardened = linuxKernel.packages.linux_6_6_hardened;
linux_6_6_hardened = linuxKernel.kernels.linux_6_6_hardened;
linuxPackages_6_7_hardened = linuxKernel.packages.linux_6_7_hardened;
@ -35771,11 +35769,6 @@ with pkgs;
unipicker = callPackage ../applications/misc/unipicker { };
unison = callPackage ../applications/networking/sync/unison {
enableX11 = config.unison.enableX11 or true;
inherit (darwin.apple_sdk.frameworks) Cocoa;
};
unpaper = callPackage ../tools/graphics/unpaper { };
unison-ucm = callPackage ../development/compilers/unison { };

View File

@ -169,14 +169,6 @@ in {
];
};
linux_6_5 = callPackage ../os-specific/linux/kernel/mainline.nix {
branch = "6.5";
kernelPatches = [
kernelPatches.bridge_stp_helper
kernelPatches.request_key_helper
];
};
linux_6_6 = callPackage ../os-specific/linux/kernel/mainline.nix {
branch = "6.6";
kernelPatches = [
@ -268,7 +260,6 @@ in {
linux_5_10_hardened = hardenedKernelFor kernels.linux_5_10 { };
linux_5_15_hardened = hardenedKernelFor kernels.linux_5_15 { };
linux_6_1_hardened = hardenedKernelFor kernels.linux_6_1 { };
linux_6_5_hardened = hardenedKernelFor kernels.linux_6_5 { };
linux_6_6_hardened = hardenedKernelFor kernels.linux_6_6 { };
linux_6_7_hardened = hardenedKernelFor kernels.linux_6_7 { };
@ -281,6 +272,7 @@ in {
linux_6_2 = throw "linux 6.2 was removed because it has reached its end of life upstream";
linux_6_3 = throw "linux 6.3 was removed because it has reached its end of life upstream";
linux_6_4 = throw "linux 6.4 was removed because it has reached its end of life upstream";
linux_6_5 = throw "linux 6.5 was removed because it has reached its end of life upstream";
linux_xanmod_tt = throw "linux_xanmod_tt was removed because upstream no longer offers this option";
@ -602,7 +594,6 @@ in {
linux_5_10 = recurseIntoAttrs (packagesFor kernels.linux_5_10);
linux_5_15 = recurseIntoAttrs (packagesFor kernels.linux_5_15);
linux_6_1 = recurseIntoAttrs (packagesFor kernels.linux_6_1);
linux_6_5 = recurseIntoAttrs (packagesFor kernels.linux_6_5);
linux_6_6 = recurseIntoAttrs (packagesFor kernels.linux_6_6);
linux_6_7 = recurseIntoAttrs (packagesFor kernels.linux_6_7);
__attrsFailEvaluation = true;
@ -615,6 +606,7 @@ in {
linux_6_2 = throw "linux 6.2 was removed because it reached its end of life upstream"; # Added 2023-05-26
linux_6_3 = throw "linux 6.3 was removed because it reached its end of life upstream"; # Added 2023-07-22
linux_6_4 = throw "linux 6.4 was removed because it reached its end of life upstream"; # Added 2023-10-02
linux_6_5 = throw "linux 6.5 was removed because it reached its end of life upstream"; # Added 2024-02-28
};
rtPackages = {
@ -647,7 +639,6 @@ in {
linux_5_10_hardened = recurseIntoAttrs (packagesFor kernels.linux_5_10_hardened);
linux_5_15_hardened = recurseIntoAttrs (packagesFor kernels.linux_5_15_hardened);
linux_6_1_hardened = recurseIntoAttrs (packagesFor kernels.linux_6_1_hardened);
linux_6_5_hardened = recurseIntoAttrs (packagesFor kernels.linux_6_5_hardened);
linux_6_6_hardened = recurseIntoAttrs (packagesFor kernels.linux_6_6_hardened);
linux_6_7_hardened = recurseIntoAttrs (packagesFor kernels.linux_6_7_hardened);

View File

@ -1905,6 +1905,8 @@ let
xtmpl_ppx = callPackage ../development/ocaml-modules/xtmpl/ppx.nix { };
xxhash = callPackage ../development/ocaml-modules/xxhash/default.nix { };
### Y ###
yaml = callPackage ../development/ocaml-modules/yaml { };