Merge staging-next into staging
This commit is contained in:
commit
074a096a37
|
@ -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";
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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 ]
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 ''
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -61,7 +61,7 @@ with pkgs.lib;
|
|||
+ " $QEMU_OPTS"
|
||||
)
|
||||
|
||||
machine = create_machine({"startCommand": start_command})
|
||||
machine = create_machine(start_command)
|
||||
try:
|
||||
'' + indentLines script + ''
|
||||
finally:
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 [
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
|
34
pkgs/by-name/fl/flake-checker/package.nix
Normal file
34
pkgs/by-name/fl/flake-checker/package.nix
Normal 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";
|
||||
};
|
||||
}
|
|
@ -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
|
||||
];
|
||||
|
|
42
pkgs/by-name/ip/ipam/package.nix
Normal file
42
pkgs/by-name/ip/ipam/package.nix
Normal 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";
|
||||
};
|
||||
}
|
33
pkgs/by-name/lo/loramon/package.nix
Normal file
33
pkgs/by-name/lo/loramon/package.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -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
2544
pkgs/by-name/my/mycelium/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
39
pkgs/by-name/my/mycelium/package.nix
Normal file
39
pkgs/by-name/my/mycelium/package.nix
Normal 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";
|
||||
};
|
||||
}
|
171
pkgs/by-name/st/stereotool/package.nix
Normal file
171
pkgs/by-name/st/stereotool/package.nix
Normal 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 ];
|
||||
};
|
||||
|
||||
}
|
|
@ -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 ];
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
})
|
44
pkgs/development/ocaml-modules/xxhash/default.nix
Normal file
44
pkgs/development/ocaml-modules/xxhash/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -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 = ''
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
];
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 { };
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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 { };
|
||||
|
|
Loading…
Reference in New Issue
Block a user