Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-01-26 00:14:22 +00:00
committed by GitHub
235 changed files with 2026 additions and 6646 deletions
+2
View File
@@ -844,6 +844,8 @@ let
in warnDeprecation opt //
{ value = addErrorContext "while evaluating the option `${showOption loc}':" value;
# raw value before "apply" above
rawValue = addErrorContext "while evaluating the option `${showOption loc}':" res.mergedValue;
inherit (res.defsFinal') highestPrio;
definitions = map (def: def.value) res.defsFinal;
files = map (def: def.file) res.defsFinal;
@@ -172,6 +172,9 @@
to review the new defaults and description of
[](#opt-services.nextcloud.poolSettings).
- The `services.locate` module does no longer support findutil's `locate` due to its inferior performance compared to `mlocate` and `plocate`. The new default is `plocate`.
As the `service.locate.localuser` option only applied when using findutil's `locate`, it has also been removed.
- `kmonad` is now hardened by default using common `systemd` settings.
If KMonad is used to execute shell commands, hardening may make some of them fail. In that case, you can disable hardening using {option}`services.kmonad.keyboards.<name>.enableHardening` option.
+23 -59
View File
@@ -9,14 +9,15 @@ let
cfg = config.services.locate;
isMLocate = lib.hasPrefix "mlocate" cfg.package.name;
isPLocate = lib.hasPrefix "plocate" cfg.package.name;
isMorPLocate = isMLocate || isPLocate;
isFindutils = lib.hasPrefix "findutils" cfg.package.name;
in
{
imports = [
(lib.mkRenamedOptionModule [ "services" "locate" "period" ] [ "services" "locate" "interval" ])
(lib.mkRenamedOptionModule [ "services" "locate" "locate" ] [ "services" "locate" "package" ])
(lib.mkRemovedOptionModule [ "services" "locate" "includeStore" ] "Use services.locate.prunePaths")
(lib.mkRemovedOptionModule [ "services" "locate" "localuser" ]
"The services.locate.localuser option has been removed because support for findutils locate has been removed."
)
];
options.services.locate = {
@@ -29,7 +30,7 @@ in
'';
};
package = lib.mkPackageOption pkgs [ "findutils" "locate" ] {
package = lib.mkPackageOption pkgs [ "plocate" ] {
example = "mlocate";
};
@@ -65,15 +66,6 @@ in
'';
};
localuser = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = "nobody";
description = ''
The user to search non-network directories as, using
{command}`su`.
'';
};
pruneFS = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [
@@ -180,7 +172,7 @@ in
pruneNames = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = lib.optionals (!isFindutils) [
default = [
".bzr"
".cache"
".git"
@@ -229,7 +221,7 @@ in
source = "${cfg.package}/bin/plocate";
};
in
lib.mkIf isMorPLocate {
{
locate = lib.mkMerge [
common
mlocate
@@ -253,59 +245,31 @@ in
'';
systemPackages = [ cfg.package ];
variables = lib.mkIf isFindutils {
LOCATE_PATH = cfg.output;
};
};
warnings =
lib.optional (isMorPLocate && cfg.localuser != null)
"mlocate and plocate do not support the services.locate.localuser option. updatedb will run as root. Silence this warning by setting services.locate.localuser = null."
++ lib.optional (
isFindutils && cfg.pruneNames != [ ]
) "findutils locate does not support pruning by directory component"
++ lib.optional (
isFindutils && cfg.pruneBindMounts
) "findutils locate does not support skipping bind mounts";
systemd.services.update-locatedb = {
description = "Update Locate Database";
path = lib.mkIf (!isMorPLocate) [ pkgs.su ];
# mlocate's updatedb takes flags via a configuration file or
# on the command line, but not by environment variable.
script =
if isMorPLocate then
let
toFlags =
x: lib.optional (cfg.${x} != [ ]) "--${lib.toLower x} '${lib.concatStringsSep " " cfg.${x}}'";
args = lib.concatLists (
map toFlags [
"pruneFS"
"pruneNames"
"prunePaths"
]
);
in
''
exec ${cfg.package}/bin/updatedb \
--output ${toString cfg.output} ${lib.concatStringsSep " " args} \
--prune-bind-mounts ${if cfg.pruneBindMounts then "yes" else "no"} \
${lib.concatStringsSep " " cfg.extraFlags}
''
else
''
exec ${cfg.package}/bin/updatedb \
${lib.optionalString (cfg.localuser != null && !isMorPLocate) "--localuser=${cfg.localuser}"} \
--output=${toString cfg.output} ${lib.concatStringsSep " " cfg.extraFlags}
'';
environment = lib.optionalAttrs (!isMorPLocate) {
PRUNEFS = lib.concatStringsSep " " cfg.pruneFS;
PRUNEPATHS = lib.concatStringsSep " " cfg.prunePaths;
PRUNENAMES = lib.concatStringsSep " " cfg.pruneNames;
PRUNE_BIND_MOUNTS = if cfg.pruneBindMounts then "yes" else "no";
};
let
toFlags =
x: lib.optional (cfg.${x} != [ ]) "--${lib.toLower x} '${lib.concatStringsSep " " cfg.${x}}'";
args = lib.concatLists (
map toFlags [
"pruneFS"
"pruneNames"
"prunePaths"
]
);
in
''
exec ${cfg.package}/bin/updatedb \
--output ${toString cfg.output} ${lib.concatStringsSep " " args} \
--prune-bind-mounts ${if cfg.pruneBindMounts then "yes" else "no"} \
${lib.concatStringsSep " " cfg.extraFlags}
'';
serviceConfig = {
CapabilityBoundingSet = "CAP_DAC_READ_SEARCH CAP_CHOWN";
Nice = 19;
+10 -5
View File
@@ -70,19 +70,24 @@ let
++ lib.optional (opt.localSystem.highestPrio < (lib.mkOptionDefault { }).priority) opt.localSystem
++ lib.optional (opt.crossSystem.highestPrio < (lib.mkOptionDefault { }).priority) opt.crossSystem;
# pkgs/top-level/default.nix takes great strides to pass the *original* localSystem/crossSystem args
# on to nixpkgsFun to create package sets like pkgsStatic, pkgsMusl. This is to be able to infer default
# values again. Since cfg.xxxPlatform and cfg.xxxSystem are elaborated via apply, those can't be passed
# directly. Instead we use the rawValue before the apply/elaboration step, via opt.xxx.rawValue.
defaultPkgs =
if opt.hostPlatform.isDefined then
let
# This compares elaborated systems on purpose, **not** using rawValue.
isCross = cfg.buildPlatform != cfg.hostPlatform;
systemArgs =
if isCross then
{
localSystem = cfg.buildPlatform;
crossSystem = cfg.hostPlatform;
localSystem = opt.buildPlatform.rawValue;
crossSystem = opt.hostPlatform.rawValue;
}
else
{
localSystem = cfg.hostPlatform;
localSystem = opt.hostPlatform.rawValue;
};
in
import ../../.. (
@@ -96,9 +101,9 @@ let
inherit (cfg)
config
overlays
localSystem
crossSystem
;
localSystem = opt.localSystem.rawValue;
crossSystem = opt.crossSystem.rawValue;
};
finalPkgs = if opt.pkgs.isDefined then cfg.pkgs.appendOverlays cfg.overlays else defaultPkgs;
+14 -11
View File
@@ -8,11 +8,11 @@ let
inherit (lib)
getExe
isBool
listToAttrs
literalExpression
maintainers
mkEnableOption
mkIf
mkMerge
mkOption
mkPackageOption
optionalString
@@ -169,16 +169,19 @@ in
"url"
"model"
];
environment = mkMerge (
[
{
systemPackages = [ finalPackage ];
}
]
++ map (rule: {
etc."xdg/pay-respects/rules/${rule.command}.toml".source = generate "${rule.command}.toml" rule;
}) cfg.runtimeRules
);
environment = {
etc = listToAttrs (
map (rule: {
name = "xdg/pay-respects/rules/${rule.command}.toml";
value = {
source = generate "${rule.command}.toml" rule;
};
}) cfg.runtimeRules
);
systemPackages = [ finalPackage ];
};
programs = {
bash.interactiveShellInit = initScript "bash";
+1 -1
View File
@@ -259,7 +259,7 @@ in
directory = lib.mkOption {
type = lib.types.str;
default = cfg.dataDir + "/export";
defaultText = "\${dataDir}/export";
defaultText = lib.literalExpression "\${config.services.paperless.dataDir}/export";
description = "Directory to store export.";
};
+2 -2
View File
@@ -24,8 +24,8 @@
description = "gdomap server";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
path = [ pkgs.gnustep.base ];
serviceConfig.ExecStart = "${pkgs.gnustep.base}/bin/gdomap -f";
path = [ pkgs.gnustep-base ];
serviceConfig.ExecStart = "${pkgs.gnustep-base}/bin/gdomap -f";
};
};
}
+18 -1
View File
@@ -6,8 +6,19 @@ let
cfg = config.services.squid;
configWriter =
if cfg.validateConfig then
(
content:
pkgs.writers.makeScriptWriter {
check = "${cfg.package}/bin/squid -k parse -f";
interpreter = "${cfg.package}/bin/squid";
} "squid.conf" content
)
else
(content: pkgs.writeText "squid.conf" content);
squidConfig = pkgs.writeText "squid.conf"
squidConfig = configWriter
(if cfg.configText != null then cfg.configText else
''
#
@@ -111,6 +122,12 @@ in
description = "Whether to run squid web proxy.";
};
validateConfig = mkOption {
type = types.bool;
default = true;
description = "Validate config syntax.";
};
package = mkPackageOption pkgs "squid" { };
proxyAddress = mkOption {
+4 -1
View File
@@ -80,9 +80,12 @@ with lib;
description = "xray Daemon";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
script = ''
exec "${cfg.package}/bin/xray" -config "$CREDENTIALS_DIRECTORY/config.json"
'';
serviceConfig = {
DynamicUser = true;
ExecStart = "${cfg.package}/bin/xray -config ${settingsFile}";
LoadCredential = "config.json:${settingsFile}";
CapabilityBoundingSet = "CAP_NET_ADMIN CAP_NET_BIND_SERVICE";
AmbientCapabilities = "CAP_NET_ADMIN CAP_NET_BIND_SERVICE";
NoNewPrivileges = true;
+1 -1
View File
@@ -40,7 +40,7 @@ in {
pixelfed = {
enable = mkEnableOption "a Pixelfed instance";
package = mkPackageOption pkgs "pixelfed" { };
phpPackage = mkPackageOption pkgs "php82" { };
phpPackage = mkPackageOption pkgs "php83" { };
user = mkOption {
type = types.str;
@@ -97,7 +97,7 @@ in
description = "Instances of SimpleSAMLphp. This module is designed to work with already existing PHP-FPM pool and NGINX virtualHost.";
};
config = {
config = lib.mkIf (cfg != { }) {
services.phpfpm.pools = lib.mapAttrs' (
phpfpmName: opts:
lib.nameValuePair opts.phpfpmPool { phpEnv.SIMPLESAMLPHP_CONFIG_DIR = "${generateConfig opts}"; }
+3
View File
@@ -38,6 +38,7 @@ let
libnvidia-container
libxfs
lvm2
lxcfs
minio
minio-client
nftables
@@ -121,6 +122,7 @@ let
environment = lib.mkMerge [
{
INCUS_EDK2_PATH = ovmf;
INCUS_LXC_HOOK = "${cfg.lxcPackage}/share/lxc/hooks";
INCUS_LXC_TEMPLATE_CONFIG = "${pkgs.lxcfs}/share/lxc/config";
INCUS_USBIDS_PATH = "${pkgs.hwdata}/share/hwdata/usb.ids";
PATH = lib.mkForce serverBinPath;
@@ -401,6 +403,7 @@ in
"incus.socket"
];
requires = [ "incus.socket" ];
wantedBy = config.systemd.services.incus.wantedBy;
serviceConfig = {
ExecStart = "${incus-startup} start";
@@ -515,6 +515,8 @@ in
systemd.services.libvirt-guests = {
wantedBy = [ "multi-user.target" ];
requires = [ "libvirtd.service" ];
after = [ "libvirtd.service" ];
path = with pkgs; [ coreutils gawk cfg.package ];
restartIfChanged = false;
+68 -31
View File
@@ -190,7 +190,7 @@ import ../make-test-python.nix (
def cleanup():
# avoid conflict between preseed and cleanup operations
machine.wait_for_unit("incus-preseed.service")
machine.execute("systemctl kill incus-preseed.service")
instances = json.loads(machine.succeed("incus list --format json --all-projects"))
with subtest("Stopping all running instances"):
@@ -228,39 +228,41 @@ import ../make-test-python.nix (
alias = "nixos/container/${variant}"
variant = "${variant}"
with subtest("Container image can be imported"):
with subtest("container image can be imported"):
machine.succeed(f"incus image import {metadata} {rootfs} --alias {alias}")
with subtest("Container can be launched and managed"):
with subtest("container can be launched and managed"):
machine.succeed(f"incus launch {alias} container-{variant}1")
wait_for_instance(f"container-{variant}1")
with subtest("Container mounts lxcfs overlays"):
with subtest("container mounts lxcfs overlays"):
machine.succeed(f"incus exec container-{variant}1 mount | grep 'lxcfs on /proc/cpuinfo type fuse.lxcfs'")
machine.succeed(f"incus exec container-{variant}1 mount | grep 'lxcfs on /proc/meminfo type fuse.lxcfs'")
with subtest("resource limits"):
with subtest("Container CPU limits can be managed"):
set_config(f"container-{variant}1", "limits.cpu 1", restart=True)
wait_incus_exec_success(f"container-{variant}1", "nproc | grep '^1$'", timeout=15)
with subtest("Container CPU limits can be hotplug changed"):
set_config(f"container-{variant}1", "limits.cpu 2")
wait_incus_exec_success(f"container-{variant}1", "nproc | grep '^2$'", timeout=15)
with subtest("Container memory limits can be managed"):
set_config(f"container-{variant}1", "limits.memory 128MB", restart=True)
wait_incus_exec_success(f"container-{variant}1", "grep 'MemTotal:[[:space:]]*125000 kB' /proc/meminfo", timeout=15)
with subtest("Container memory limits can be hotplug changed"):
set_config(f"container-{variant}1", "limits.memory 256MB")
wait_incus_exec_success(f"container-{variant}1", "grep 'MemTotal:[[:space:]]*250000 kB' /proc/meminfo", timeout=15)
with subtest("container CPU limits can be managed"):
set_config(f"container-{variant}1", "limits.cpu 1", restart=True)
wait_incus_exec_success(f"container-{variant}1", "nproc | grep '^1$'", timeout=90)
with subtest("virtual tpm can be configured"):
with subtest("container CPU limits can be hotplug changed"):
set_config(f"container-{variant}1", "limits.cpu 2")
wait_incus_exec_success(f"container-{variant}1", "nproc | grep '^2$'", timeout=90)
with subtest("container memory limits can be managed"):
set_config(f"container-{variant}1", "limits.memory 128MB", restart=True)
wait_incus_exec_success(f"container-{variant}1", "grep 'MemTotal:[[:space:]]*125000 kB' /proc/meminfo", timeout=90)
with subtest("container memory limits can be hotplug changed"):
set_config(f"container-{variant}1", "limits.memory 256MB")
wait_incus_exec_success(f"container-{variant}1", "grep 'MemTotal:[[:space:]]*250000 kB' /proc/meminfo", timeout=90)
with subtest("container software tpm can be configured"):
machine.succeed(f"incus config device add container-{variant}1 vtpm tpm path=/dev/tpm0 pathrm=/dev/tpmrm0")
machine.succeed(f"incus exec container-{variant}1 -- test -e /dev/tpm0")
machine.succeed(f"incus exec container-{variant}1 -- test -e /dev/tpmrm0")
@@ -268,7 +270,7 @@ import ../make-test-python.nix (
machine.fail(f"incus exec container-{variant}1 -- test -e /dev/tpm0")
with subtest("lxc-generator"):
with subtest("container lxc-generator compatibility"):
with subtest("lxc-container generator configures plain container"):
# default container is plain
machine.succeed(f"incus exec container-{variant}1 test -- -e /run/systemd/system/service.d/zzz-lxc-service.conf")
@@ -293,14 +295,36 @@ import ../make-test-python.nix (
check_sysctl(f"container-{variant}2")
with subtest("container supports per-instance lxcfs"):
machine.succeed(f"incus stop container-{variant}1")
machine.fail(f"pgrep -a lxcfs | grep 'incus/devices/container-{variant}1/lxcfs'")
with subtest("Instance remains running when softDaemonRestart is enabled and service is stopped"):
machine.succeed("incus config set instances.lxcfs.per_instance=true")
machine.succeed(f"incus start container-{variant}1")
wait_for_instance(f"container-{variant}1")
machine.succeed(f"pgrep -a lxcfs | grep 'incus/devices/container-{variant}1/lxcfs'")
with subtest("container can successfully restart"):
machine.succeed(f"incus restart container-{variant}1")
wait_for_instance(f"container-{variant}1")
with subtest("container remains running when softDaemonRestart is enabled and service is stopped"):
pid = machine.succeed(f"incus info container-{variant}1 | grep 'PID'").split(":")[1].strip()
machine.succeed(f"ps {pid}")
machine.succeed("systemctl stop incus")
machine.succeed(f"ps {pid}")
machine.succeed("systemctl start incus")
with subtest("containers stop with incus-startup.service"):
pid = machine.succeed(f"incus info container-{variant}1 | grep 'PID'").split(":")[1].strip()
machine.succeed(f"ps {pid}")
machine.succeed("systemctl stop incus-startup.service")
machine.wait_until_fails(f"ps {pid}", timeout=120)
machine.succeed("systemctl start incus-startup.service")
cleanup()
''
@@ -325,7 +349,7 @@ import ../make-test-python.nix (
machine.succeed(f"incus create {alias} vm-{variant}1 --vm --config limits.memory=512MB --config security.secureboot=false")
with subtest("virtual tpm can be configured"):
with subtest("virtual-machine software tpm can be configured"):
machine.succeed(f"incus config device add vm-{variant}1 vtpm tpm path=/dev/tpm0")
@@ -334,25 +358,30 @@ import ../make-test-python.nix (
wait_for_instance(f"vm-{variant}1")
with subtest("incus-agent is started"):
with subtest("virtual-machine incus-agent is started"):
machine.succeed(f"incus exec vm-{variant}1 systemctl is-active incus-agent")
with subtest("incus-agent has a valid path"):
with subtest("virtual-machine incus-agent has a valid path"):
machine.succeed(f"incus exec vm-{variant}1 -- bash -c 'true'")
with subtest("Container CPU limits can be managed"):
with subtest("virtual-machine CPU limits can be managed"):
set_config(f"vm-{variant}1", "limits.cpu 1", restart=True)
wait_incus_exec_success(f"vm-{variant}1", "nproc | grep '^1$'", timeout=90)
with subtest("Container CPU limits can be hotplug changed"):
with subtest("virtual-machine CPU limits can be hotplug changed"):
set_config(f"vm-{variant}1", "limits.cpu 2")
wait_incus_exec_success(f"vm-{variant}1", "nproc | grep '^2$'", timeout=15)
wait_incus_exec_success(f"vm-{variant}1", "nproc | grep '^2$'", timeout=90)
with subtest("Instance remains running when softDaemonRestart is enabled and service is stopped"):
with subtest("virtual-machine can successfully restart"):
machine.succeed(f"incus restart vm-{variant}1")
wait_for_instance(f"vm-{variant}1")
with subtest("virtual-machine remains running when softDaemonRestart is enabled and service is stopped"):
pid = machine.succeed(f"incus info vm-{variant}1 | grep 'PID'").split(":")[1].strip()
machine.succeed(f"ps {pid}")
machine.succeed("systemctl stop incus")
@@ -360,13 +389,21 @@ import ../make-test-python.nix (
machine.succeed("systemctl start incus")
with subtest("virtual-machines stop with incus-startup.service"):
pid = machine.succeed(f"incus info vm-{variant}1 | grep 'PID'").split(":")[1].strip()
machine.succeed(f"ps {pid}")
machine.succeed("systemctl stop incus-startup.service")
machine.wait_until_fails(f"ps {pid}", timeout=120)
machine.succeed("systemctl start incus-startup.service")
cleanup()
''
) "" initVariants)
+
# python
''
with subtest("Can launch CSM virtual machine"):
with subtest("virtual-machine can launch CSM (BIOS)"):
machine.succeed("incus init csm --vm --empty -c security.csm=true -c security.secureboot=false")
machine.succeed("incus start csm")
+5 -16
View File
@@ -12,6 +12,7 @@
file,
libX11,
qt5,
vst2-sdk,
}:
let
@@ -24,18 +25,6 @@ let
sha256 = "1ban59skw422mak3cp57lj27hgq5d3a4f6y79ysjnamf8rpz9x4s";
};
vst-sdk = stdenv.mkDerivation rec {
name = "vstsdk369_01_03_2018_build_132";
src = requireFile {
name = "${name}.zip";
url = "http://www.steinberg.net/en/company/developers.html";
sha256 = "0r29fv6yhm2m5yznn8m4my7fq01w1lpphax4sshagy6b1dgjlv3w";
};
nativeBuildInputs = [ unzip ];
installPhase = "cp -r . $out";
meta.license = lib.licenses.unfree;
};
wine-wow64 = wine.override {
wineRelease = "stable";
wineBuild = "wineWow";
@@ -84,7 +73,7 @@ multiStdenv.mkDerivation {
# Cf. https://github.com/phantom-code/airwave/issues/57
hardeningDisable = [ "format" ];
cmakeFlags = [ "-DVSTSDK_PATH=${vst-sdk}/VST2_SDK" ];
cmakeFlags = [ "-DVSTSDK_PATH=${vst2-sdk}" ];
postInstall = ''
mv $out/bin $out/libexec
@@ -94,7 +83,7 @@ multiStdenv.mkDerivation {
wrapProgram $out/libexec/airwave-host-64.exe --set WINELOADER ${wine-xembed}/bin/wine64
'';
meta = with lib; {
meta = {
description = "WINE-based VST bridge for Linux VST hosts";
longDescription = ''
Airwave is a wine based VST bridge, that allows for the use of
@@ -105,9 +94,9 @@ multiStdenv.mkDerivation {
window.
'';
homepage = "https://github.com/phantom-code/airwave";
license = licenses.mit;
license = lib.licenses.mit;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ michalrus ];
maintainers = with lib.maintainers; [ michalrus ];
hydraPlatforms = [ ];
};
}
@@ -85,6 +85,7 @@ stdenv.mkDerivation rec {
++ lib.optional pulseaudioSupport libpulseaudio;
dontBuild = true;
dontStrip = true;
installPhase =
if stdenv.hostPlatform.isDarwin then
@@ -10,18 +10,18 @@
vimUtils,
}:
let
version = "0.0.14";
version = "0.0.15";
src = fetchFromGitHub {
owner = "yetone";
repo = "avante.nvim";
tag = "v${version}";
hash = "sha256-0dkPejvupXhVZY/5qT45f4LZ4MIVcz8uZam+9TmB+Yo=";
hash = "sha256-REFF+4U0AjNwiK1ecbDPwF7C1jKRzITV29aolx+HI24=";
};
avante-nvim-lib = rustPlatform.buildRustPackage {
pname = "avante-nvim-lib";
inherit version src;
cargoHash = "sha256-80++U7CIu6QtH1jQCHCEpv2tnYOuoWSczZIUmKyrqJE=";
cargoHash = "sha256-7W7uuyzqTTlvZAkeRYRIfkxYVbOv5h7elH8noZe1VMQ=";
nativeBuildInputs = [
pkg-config
@@ -7,19 +7,19 @@
vimUtils,
}:
let
version = "0-unstable-2024-12-17";
version = "1.0.0";
src = fetchFromGitHub {
owner = "vyfor";
repo = "cord.nvim";
rev = "c82ab475e7bb198d6fac20833a3468de1a1d14d0";
hash = "sha256-GVy8q9Fxb3mzx6mUQyIMumjnwZ7W08dPz1O3ckzVvdE=";
tag = "v${version}";
hash = "sha256-rA3R9SO3QRLGBVHlT5NZLtQw+EmkkmSDO/K6DdNtfBI=";
};
extension = if stdenv.hostPlatform.isDarwin then "dylib" else "so";
cord-nvim-rust = rustPlatform.buildRustPackage {
pname = "cord.nvim-rust";
inherit version src;
cargoHash = "sha256-unE600Uo8fXaFV0UWRhBenhQaXftDH7K+HyQ/9xo7JY=";
cargoHash = "sha256-wYXJ4+8b3PtHzL2jdplNHrjIBzbAzA7jdvLZ7Vz+Yz8=";
installPhase =
let
@@ -56,7 +56,6 @@ vimUtils.buildVimPlugin {
passthru = {
updateScript = nix-update-script {
extraArgs = [ "--version=branch" ];
attrPath = "vimPlugins.cord-nvim.cord-nvim-rust";
};
@@ -3907,8 +3907,6 @@ let
};
};
nvarner.typst-lsp = callPackage ./nvarner.typst-lsp { };
ocamllabs.ocaml-platform = buildVscodeMarketplaceExtension {
meta = {
changelog = "https://marketplace.visualstudio.com/items/ocamllabs.ocaml-platform/changelog";
@@ -1,39 +0,0 @@
{
jq,
lib,
moreutils,
typst-lsp,
vscode-utils,
}:
vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "typst-lsp";
publisher = "nvarner";
# Please update the corresponding binary (typst-lsp) when updating
# this extension.
version = "0.13.0";
hash = "sha256-xiFUJymZOTEqlGvCHvLiI0pVg7NLgIXhZ7x8yx+a5mY=";
};
nativeBuildInputs = [
jq
moreutils
];
buildInputs = [ typst-lsp ];
postInstall = ''
cd "$out/$installPrefix"
jq '.contributes.configuration.properties."typst-lsp.serverPath".default = "${lib.getExe typst-lsp}"' package.json | sponge package.json
'';
meta = {
changelog = "https://marketplace.visualstudio.com/items/nvarner.typst-lsp/changelog";
description = "VSCode extension for providing a language server for Typst";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=nvarner.typst-lsp";
homepage = "https://github.com/nvarner/typst-lsp";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.drupol ];
};
}
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "bsnes";
version = "0-unstable-2025-01-10";
version = "0-unstable-2025-01-17";
src = fetchFromGitHub {
owner = "libretro";
repo = "bsnes-libretro";
rev = "1e0054da1c158857dc444b9b52273ddd18858d49";
hash = "sha256-zm4X5RTaAm2njtvCBWBT1vhtf/YQvoBaaBSMzz9D2aQ=";
rev = "05e820a436d2e2cbbb1b871400f84a96e76e2359";
hash = "sha256-jq1W1OrltfTc4WEnEDZSNQUPSWfnUtzrOtiA4fzlIpk=";
};
makefile = "Makefile";
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "gambatte";
version = "0-unstable-2025-01-10";
version = "0-unstable-2025-01-24";
src = fetchFromGitHub {
owner = "libretro";
repo = "gambatte-libretro";
rev = "36a0da43fe6a82aba6acc5336574dbd749b18fa8";
hash = "sha256-3PM7PK1ouMObNZEIIIBG8gxIydYFKP9RRGlWBr5PIGU=";
rev = "cd1e180b1edf6e6853cf4d501adac0538076de34";
hash = "sha256-NwxditChigU8dUhmv6pnoreG1kp7cZlLBTAexNqbiAo=";
};
meta = {
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "genesis-plus-gx";
version = "0-unstable-2025-01-10";
version = "0-unstable-2025-01-17";
src = fetchFromGitHub {
owner = "libretro";
repo = "Genesis-Plus-GX";
rev = "bf492bf3532b9d30e7a023e4329e202b15169e1c";
hash = "sha256-QxplBzath9xN0AaFOT8K0dVEnMnTaZpLfdsX81fmP9g=";
rev = "8ea39eefc76bd97331c0da9efbac6ff343704a95";
hash = "sha256-BZHZ5aixtivkxI+1Fpo/ziykIQFM27UtF4hLGOrQ4cQ=";
};
meta = {
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "gpsp";
version = "0-unstable-2024-12-26";
version = "0-unstable-2025-01-20";
src = fetchFromGitHub {
owner = "libretro";
repo = "gpsp";
rev = "66ced08c693094f2eaefed5e11bd596c41028959";
hash = "sha256-gXk9T62wns7QixY98RSjfM/OW6SfH8N3NcjZ328WSAM=";
rev = "b0d5d27ae51c23f514974ddffa5760f1e1d05d9b";
hash = "sha256-e2U1xEshoPJlaVUEbqNZIayNaSdDC65hE1VrvxvQSx0=";
};
makefile = "Makefile";
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "nestopia";
version = "0-unstable-2025-01-05";
version = "0-unstable-2025-01-19";
src = fetchFromGitHub {
owner = "libretro";
repo = "nestopia";
rev = "9762adc00668f3a2e1016f3ad07ff9cbf9d67459";
hash = "sha256-CLEwhQ91dxoTLyhlQwssoCL/dEqY6SetwWLogfJi8RU=";
rev = "5b56b6b98ed5f0d7871be4c957fc9d39a608a7c0";
hash = "sha256-SBVvfrIaXFx984PG4pG1CE0xsTVypOfn/kCvWSgtZSA=";
};
makefile = "Makefile";
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "puae";
version = "0-unstable-2025-01-11";
version = "0-unstable-2025-01-24";
src = fetchFromGitHub {
owner = "libretro";
repo = "libretro-uae";
rev = "67785f95db6e96dc081a2207751ab98b06b422ab";
hash = "sha256-jJ1yki9uPutIdAI6TBKPWjiZc7W5K9n7P/oYA/UWJf4=";
rev = "9b05ecda81e14c0c5b2c5f6af8a65d034afd54a1";
hash = "sha256-jBY+Xn9aR/lTyxFZlydWJA5+bpkaCcyCAiYG3fcmGmc=";
};
makefile = "Makefile";
@@ -6,13 +6,13 @@
}:
mkLibretroCore {
core = "swanstation";
version = "0-unstable-2024-07-24";
version = "0-unstable-2025-01-17";
src = fetchFromGitHub {
owner = "libretro";
repo = "swanstation";
rev = "37cd87e14ca09ac1b558e5b2c7db4ad256865bbb";
hash = "sha256-dNIxlTPoY4S6VMtTN22ti3DE4aU/8XN/XhAo3DMNR/E=";
rev = "10af0c78ba0e3516e70f4ed7c6020827bdb2647e";
hash = "sha256-xxyWvsDF3FXTaP7GOGr9Zym0DgNZKJ4x9BDUgDzcHYA=";
};
extraNativeBuildInputs = [ cmake ];
+3 -5
View File
@@ -30,7 +30,7 @@
libkdcraw,
lcms2,
gsl,
openexr,
openexr_3,
giflib,
libjxl,
mlt,
@@ -105,7 +105,7 @@ mkDerivation rec {
fribidi
lcms2
gsl
openexr
openexr_3
lager
libaom
libheif
@@ -132,9 +132,7 @@ mkDerivation rec {
python3Packages.pyqt5
];
env.NIX_CFLAGS_COMPILE = toString (
[ "-I${ilmbase.dev}/include/OpenEXR" ] ++ lib.optional stdenv.cc.isGNU "-Wno-deprecated-copy"
);
env.NIX_CFLAGS_COMPILE = toString (lib.optional stdenv.cc.isGNU "-Wno-deprecated-copy");
# Krita runs custom python scripts in CMake with custom PYTHONPATH which krita determined in their CMake script.
# Patch the PYTHONPATH so python scripts can import sip successfully.
@@ -26,13 +26,13 @@
}:
let
version = "5.13.0";
version = "5.13.2";
docFiles = [
(fetchurl {
url = "https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=v${lib.versions.majorMinor version}&type=data&os=Sources&downloadFile=ParaViewTutorial-${version}.pdf";
name = "Tutorial.pdf";
hash = "sha256-hoCa/aTy2mmsPHP3Zm0hLZlZKbtUMpjUlc2rFKKChco=";
hash = "sha256-jJ6YUT2rgVExfKv900LbSO+MDQ4u73K7cBScHxWoP+g=";
})
(fetchurl {
url = "https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=v${lib.versions.majorMinor version}&type=data&os=Sources&downloadFile=ParaViewGettingStarted-${version}.pdf";
@@ -42,7 +42,7 @@ let
(fetchurl {
url = "https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=v${lib.versions.majorMinor version}&type=data&os=Sources&downloadFile=ParaViewCatalystGuide-${version}.pdf";
name = "CatalystGuide.pdf";
hash = "sha256-t1lJ1Wiswhdxovt2O4sXTXfFxshDiZZVdnkXt/+BQn8=";
hash = "sha256-Pl7X5cBj3OralkOw5A29CtXnA+agYr6kWHf/+KZNHow=";
})
];
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
owner = "paraview";
repo = "paraview";
rev = "v${version}";
hash = "sha256-JRSuvBON2n0UnbrFia4Qmf6eYb1Mc+Z7dIcXSeUhpIc=";
hash = "sha256-29PLXVpvj8RLkSDWQgj5QjBZ6l1/0NoVx/qcJXOSssU=";
fetchSubmodules = true;
};
@@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "pineapple-pictures";
version = "0.9.0";
version = "0.9.1";
src = fetchFromGitHub {
owner = "BLumia";
repo = "pineapple-pictures";
rev = finalAttrs.version;
hash = "sha256-NXg+lCkm4i4ONkIp3F7Z1yHHO9daXucC+X1SuNxPJgQ=";
hash = "sha256-FgOmdqhsHyIQvwoNhD3pCoWYr4tW+vni0/rlICGu6rc=";
};
nativeBuildInputs = [
+2 -4
View File
@@ -24,9 +24,8 @@
syntax-highlighting,
libmtp,
libssh,
openexr,
openexr_3,
libtirpc,
ilmbase,
phonon,
qtsvg,
samba,
@@ -72,7 +71,7 @@ mkDerivation {
syntax-highlighting
libmtp
libssh
openexr
openexr_3
libtirpc
phonon
qtsvg
@@ -90,5 +89,4 @@ mkDerivation {
--replace Exec=$out Exec=${kio}
'';
CXXFLAGS = [ "-I${ilmbase.dev}/include/OpenEXR" ];
}
@@ -46,14 +46,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "telegram-desktop-unwrapped";
version = "5.10.4";
version = "5.10.5";
src = fetchFromGitHub {
owner = "telegramdesktop";
repo = "tdesktop";
rev = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-3v9B4tdD9oNyQ96t21VRmV43Ib7l6ki8DlFXmbk7DJw=";
hash = "sha256-0BfKWwb+mnlaMD55KKvEMRIFvqBDQCs272lemvXBnjw=";
};
postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
+2 -2
View File
@@ -17,13 +17,13 @@
stdenv.mkDerivation rec {
pname = "qlog";
version = "0.40.1";
version = "0.41.1";
src = fetchFromGitHub {
owner = "foldynl";
repo = "QLog";
rev = "v${version}";
hash = "sha256-6mAFOf/5LsmgMBxzkBlN1MOz4NVS9hi9YWOgeJ2tHSs=";
hash = "sha256-6+/GtAf/MGPcL6hh7aFeoCPVo6jhX3BQGBTHVHx1jDU=";
fetchSubmodules = true;
};
@@ -11,14 +11,14 @@
buildPythonApplication rec {
pname = "pass-git-helper";
version = "3.0.0";
version = "3.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "languitar";
repo = "pass-git-helper";
tag = "v${version}";
sha256 = "sha256-DLH3l4wYfBlrc49swLgyHeZXebJ5JSzU7cHjD7Hmw0g=";
sha256 = "sha256-HcafOaunDsyUm5KPcDNo/hENFMZseWSD8GYilKYOPco=";
};
build-system = [ setuptools ];
@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "obs-freeze-filter";
version = "0.3.3";
version = "0.3.4";
src = fetchFromGitHub {
owner = "exeldro";
repo = "obs-freeze-filter";
rev = finalAttrs.version;
hash = "sha256-CaHBTfdk8VFjmiclG61elj35glQafgz5B4ENo+7J35o=";
hash = "sha256-fVrfGqwce4oFYdWGElXMsXHO1AzQ/mhfBmZL1mPdT3I=";
fetchSubmodules = true;
};
@@ -0,0 +1,36 @@
diff --git a/src-juce/CMakeLists.txt b/src-juce/CMakeLists.txt
index 1f41088..10bdbb4 100644
--- a/src-juce/CMakeLists.txt
+++ b/src-juce/CMakeLists.txt
@@ -1,28 +1,8 @@
# vi:set sw=2 et:
project(airwin-consolidated VERSION ${CMAKE_PROJECT_VERSION})
-include ("../cmake/CPM.cmake")
-
-
-if (DEFINED AWCO_ONJUCE7)
- set(AWCO_JUCETAG 7.0.12)
-else()
- set(AWCO_JUCETAG 8.0.4)
-endif()
-
-message(STATUS "Getting JUCE TAG ${AWCO_JUCETAG}")
-CPMAddPackage(
- NAME JUCE
- GITHUB_REPOSITORY juce-framework/JUCE
- GIT_TAG ${AWCO_JUCETAG} # specify the tag to a version of your choice
-)
-
-CPMAddPackage(
- NAME clap-juce-extensions
- GITHUB_REPOSITORY free-audio/clap-juce-extensions
- GIT_TAG main
- SUBMODULE_RECURSIVE ON
-)
+add_subdirectory(juce)
+add_subdirectory(clap-juce-extensions)
if (NOT DEFINED AWCO_ARM64EC)
list(APPEND AWCO_FORMATS VST3)
+228
View File
@@ -0,0 +1,228 @@
{
stdenv,
fetchFromGitHub,
lib,
makeDesktopItem,
copyDesktopItems,
srcOnly,
cmake,
pkg-config,
alsa-lib,
xorg,
freetype,
libGLU,
libjack2,
juce,
webkitgtk_4_0,
libsysprof-capture,
pcre2,
util-linux,
libselinux,
libsepol,
libthai,
libxkbcommon,
libdatrie,
libepoxy,
libsoup_2_4,
lerc,
sqlite,
glib,
gtk3-x11,
curl,
vcv-rack,
jansson,
glew,
glfw,
libarchive,
speexdsp,
libpulseaudio,
libsamplerate,
rtmidi,
zstd,
jq,
enableVCVRack ? false,
}:
let
clapJuceExtensions = fetchFromGitHub {
owner = "free-audio";
repo = "clap-juce-extensions";
rev = "4f33b4930b6af806018c009f0f24b3a50808af99";
hash = "sha256-M+T7ll3Ap6VIP5ub+kfEKwT2RW2IxxY4wUPRQKFIotk=";
fetchSubmodules = true;
};
vcvRackSdk = srcOnly vcv-rack;
pname = "airwin2rack";
version = "2.13.0";
in
stdenv.mkDerivation {
inherit pname;
inherit version;
src = fetchFromGitHub {
owner = "baconpaul";
repo = "airwin2rack";
tag = "DAWPlugin";
hash = "sha256-xjE9M5fMeOOYncq7xe+v++XvfUL6QZc2tF0jnYWSwKQ=";
fetchSubmodules = true;
};
desktopItems = [
(makeDesktopItem {
type = "Application";
name = "Airwin2rack";
desktopName = "Airwindows Consolidated";
comment = "Various Airwindows Plugins Consolidated (Standalone)";
exec = "Airwindows Consolidated";
categories = [
"Audio"
"AudioVideo"
];
})
];
strictDeps = true;
nativeBuildInputs =
[
cmake
pkg-config
copyDesktopItems
]
++ lib.optionals enableVCVRack [
jq
zstd
];
buildInputs =
[
alsa-lib
xorg.libX11
xorg.libXcomposite
xorg.libXcursor
xorg.libXext
xorg.libXinerama
xorg.libXrandr
xorg.libXrender
xorg.libXtst
xorg.libXdmcp
libGLU
libjack2
freetype
webkitgtk_4_0
glib
gtk3-x11
curl
libsysprof-capture
pcre2
util-linux
libselinux
libsepol
libthai
libxkbcommon
libdatrie
libepoxy
libsoup_2_4
lerc
sqlite
]
++ lib.optionals enableVCVRack [
vcv-rack
jansson
glew
glfw
libarchive
speexdsp
libpulseaudio
libsamplerate
rtmidi
zstd
];
cmakeFlags =
[
(lib.cmakeBool "BUILD_JUCE_PLUGIN" true)
(lib.cmakeBool "USE_JUCE_PROGRAMS" true)
]
++ lib.optionals enableVCVRack [
(lib.cmakeBool "BUILD_RACK_PLUGIN" true)
(lib.cmakeFeature "RACK_SDK_DIR" "${vcvRackSdk}")
];
cmakeBuildType = "Release";
patches = [
./juce-clap-juce-extensions-src-juce-cmakelists.patch
];
prePatch = ''
ln -s ${juce.src} src-juce/juce
ln -s ${clapJuceExtensions} src-juce/clap-juce-extensions
'';
preConfigure = lib.optionalString enableVCVRack ''export RACK_DIR=${vcvRackSdk}'';
buildPhase = ''
runHook preBuild
cmake --build . --target awcons-products ${lib.optionalString enableVCVRack "build_plugin"} --parallel $NIX_BUILD_CORES
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/lib/vst3 $out/lib/lv2 $out/lib/clap $out/bin
cp -r "awcons-products/Airwindows Consolidated.vst3" $out/lib/vst3
cp -r "awcons-products/Airwindows Consolidated.lv2" $out/lib/lv2
install -Dm644 "awcons-products/Airwindows Consolidated.clap" -t $out/lib/clap
install -Dm755 "awcons-products/Airwindows Consolidated" $out/bin/Airwindows\ Consolidated
${lib.optionalString enableVCVRack ''
mkdir ../${pname}
strip -s plugin.so
mv plugin.so ../${pname}
cd ..
mv LICENSE.md ${pname}
mv README.md ${pname}
mv plugin.json ${pname}
mv res ${pname}
tar -c ${pname} | zstd -19 -o "${pname}-${version}-lin-x64.vcvplugin"
# got the directory from arch wiki
install -Dm755 "${pname}-${version}-lin-x64.vcvplugin" $out/usr/lib/vcvrack/plugins
''}
runHook postInstall
'';
NIX_LDFLAGS = (
toString [
"-lX11"
"-lXext"
"-lXcomposite"
"-lXcursor"
"-lXinerama"
"-lXrandr"
"-lXrender"
"-lXtst"
"-lXdmcp"
]
);
meta = {
description = "JUCE Plugin Version of Airwindows Consolidated";
homepage = "https://airwindows.com/";
platforms = [ "x86_64-linux" ];
license =
with lib.licenses;
[ mit ]
++ lib.optional enableVCVRack [
gpl3Plus
cc-by-nc-40
unfreeRedistributable
];
mainProgram = "Airwindows Consolidated";
maintainers = [ lib.maintainers.l1npengtul ];
};
}
+3 -23
View File
@@ -5,27 +5,8 @@
lib,
cmake,
nix-update-script,
vst2-sdk,
}:
let
# adapted from oxefmsynth
vst-sdk = stdenv.mkDerivation {
dontConfigure = true;
dontPatch = true;
dontBuild = true;
dontStrip = true;
dontPatchELF = true;
name = "vstsdk3610_11_06_2018_build_37";
src = fetchzip {
url = "https://web.archive.org/web/20181016150224if_/https://download.steinberg.net/sdk_downloads/vstsdk3610_11_06_2018_build_37.zip";
sha256 = "0da16iwac590wphz2sm5afrfj42jrsnkr1bxcy93lj7a369ildkj";
};
installPhase = ''
cp -r VST2_SDK $out
'';
};
in
stdenv.mkDerivation {
pname = "airwindows";
version = "0-unstable-2025-01-06";
@@ -41,7 +22,7 @@ stdenv.mkDerivation {
# came from.
prePatch = ''
mkdir -p plugins/LinuxVST/include
ln -s ${vst-sdk.out} plugins/LinuxVST/include/vstsdk
ln -s ${vst2-sdk} plugins/LinuxVST/include/vstsdk
'';
patches = [
@@ -62,7 +43,7 @@ stdenv.mkDerivation {
];
buildInputs = [
vst-sdk
vst2-sdk
];
installPhase = ''
@@ -82,7 +63,6 @@ stdenv.mkDerivation {
platforms = lib.platforms.linux;
license = [
lib.licenses.mit
lib.licenses.unfree
];
maintainers = [ lib.maintainers.l1npengtul ];
};
+2 -2
View File
@@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "armadillo";
version = "14.2.1";
version = "14.2.2";
src = fetchurl {
url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
hash = "sha256-JJWBXPnRMPcP/7ahJzPQ3K+Gy6rFHotLgq0lGD7aHdU=";
hash = "sha256-MFTI5j2zq98aXI+f235rStgz+bz7WDJMD/ht4HhMcOA=";
};
nativeBuildInputs = [ cmake ];
+5 -5
View File
@@ -1,9 +1,9 @@
{
"owner": "advplyr",
"repo": "audiobookshelf",
"rev": "de8b0abc3af740148bddde462fe809f03159d678",
"hash": "sha256-lLCG6xw1qWbIOxHbD8ONH7iYzayJ8OhMy+WgaXExcFQ=",
"version": "2.17.7",
"depsHash": "sha256-1uDCbgZNmx8e+LrsOHTfM29SZhS1TLDHmTg48XMbwkg=",
"clientDepsHash": "sha256-cDT45OtLbFDF0TXO4zVVj9+UOJhkb9TjCajtSWq4H8U="
"rev": "66b90e0841f2b08a4a401fad202605c8fbaf3c48",
"hash": "sha256-SAce3URkZxPa5URyaO7G9xty4JCG0/tJym5fXLnwv74=",
"version": "2.18.1",
"depsHash": "sha256-1d3V8MzIaJdYpY5BdoAX96HTGfjBBNz/JLkG7jl0TRY=",
"clientDepsHash": "sha256-hClfu993JpHWOqPMgmKdMIneAFDYAi6pCPlf8GmXzow="
}
+3 -21
View File
@@ -23,6 +23,7 @@
libXScrnSaver,
libGL,
libxcb,
vst2-sdk,
xcbutil,
libxkbcommon,
xcbutilkeysyms,
@@ -40,20 +41,6 @@
enableVST2 ? false,
}:
let
# equal to vst-sdk in ../oxefmsynth/default.nix
vst-sdk = stdenv.mkDerivation rec {
name = "vstsdk3610_11_06_2018_build_37";
src = fetchzip {
url = "https://web.archive.org/web/20181016150224if_/https://download.steinberg.net/sdk_downloads/${name}.zip";
sha256 = "0da16iwac590wphz2sm5afrfj42jrsnkr1bxcy93lj7a369ildkj";
};
installPhase = ''
cp -r . $out
'';
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "bespokesynth";
version = "1.3.0";
@@ -88,7 +75,7 @@ stdenv.mkDerivation (finalAttrs: {
(lib.cmakeBool "BESPOKE_SYSTEM_JSONCPP" true)
]
++ lib.optionals enableVST2 [
(lib.cmakeFeature "BESPOKE_VST2_SDK_LOCATION" "${vst-sdk}/VST2_SDK")
(lib.cmakeFeature "BESPOKE_VST2_SDK_LOCATION" "${vst2-sdk}")
];
strictDeps = true;
@@ -185,12 +172,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
description = "Software modular synth with controllers support, scripting and VST";
homepage = "https://www.bespokesynth.com/";
license =
with lib.licenses;
[
gpl3Plus
]
++ lib.optional enableVST2 unfree;
license = [ lib.licenses.gpl3Plus ];
maintainers = with lib.maintainers; [
astro
tobiasBora
+3 -3
View File
@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec {
pname = "boxbuddy";
version = "2.5.2";
version = "2.5.3";
src = fetchFromGitHub {
owner = "Dvlv";
repo = "BoxBuddyRS";
rev = version;
hash = "sha256-wtAc5h3bm/X1aCPGjl30NaM7XR602q5NdlamUQvADDo=";
hash = "sha256-9BGgm4yRjCarJIGP/G9gPj/qsYWb96XGJmpgLj3XCdM=";
};
cargoHash = "sha256-oyxO92wXVN7kbIcTy5OAaqK/ySnetpkFwcop34ERpxs=";
cargoHash = "sha256-/0tk3unjiXwBqQEMTYMu1kasb34i0nbp99PHmtpdxAA=";
# The software assumes it is installed either in flatpak or in the home directory
# so the xdg data path needs to be patched here
-4
View File
@@ -58,10 +58,6 @@ stdenv.mkDerivation rec {
"-DSYSTEM_INCLUDE_PATHS=${glibc.dev}/include"
];
postPatch = ''
substituteInPlace CMakeLists.txt --replace "set(MAX_LLVM_MAJOR 18)" "set(MAX_LLVM_MAJOR 19)"
'';
# Pull BPF scripts into $PATH (next to their bcc program equivalents), but do
# not move them to keep `${pkgs.bpftrace}/share/bpftrace/tools/...` working.
postInstall = ''
+6 -3
View File
@@ -3,19 +3,20 @@
fetchCrate,
rustPlatform,
capnproto,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
pname = "capnproto-rust";
version = "0.17.2";
version = "0.20.1";
src = fetchCrate {
crateName = "capnpc";
inherit version;
hash = "sha256-WVjXVLVoTCAtA8a6+zaX4itAaPCWb2c0trtSsxBopO4=";
hash = "sha256-iLjvKxVfkAVoM4AYgr31Ud1mk3MyMPReDXv1IbKEvcE=";
};
cargoHash = "sha256-h9YArxHnY14T8eQCS4JVItjaCjv+2dorcOVBir7r6SY=";
cargoHash = "sha256-KNUXIKzTlbEW7WUwqVOXjN5/6BDGEbOjbKELo0KtWDc=";
postInstall = ''
mkdir -p $out/include/capnp
@@ -26,6 +27,8 @@ rustPlatform.buildRustPackage rec {
capnproto
];
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Cap'n Proto codegen plugin for Rust";
homepage = "https://github.com/capnproto/capnproto-rust";
+3 -3
View File
@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-deb";
version = "2.10.0";
version = "2.11.0";
src = fetchFromGitHub {
owner = "kornelski";
repo = pname;
rev = "v${version}";
hash = "sha256-J3ChNrZUctDcs1bOCoDLTQtqTT9rWi24XK2fki8PYLw=";
hash = "sha256-Nr6Hl8kjLHVrxqj5Xm147gb13xF2dQ5C+KuPD+PQglU=";
};
cargoHash = "sha256-CjlMadj4/QhbSlCoZs3JRaplbY4XlcBFKR4ZXJLK+Uo=";
cargoHash = "sha256-hQQ03tdEyxEBqdxGmz6y70jSGpW7CAn7Pm2pTS5jwOM=";
nativeBuildInputs = [
makeWrapper
-40
View File
@@ -1,40 +0,0 @@
{
lib,
rustPlatform,
fetchFromGitHub,
makeWrapper,
kcov,
}:
rustPlatform.buildRustPackage rec {
pname = "cargo-kcov";
version = "0.5.2";
src = fetchFromGitHub {
owner = "kennytm";
repo = pname;
rev = "v${version}";
sha256 = "0hqplgj3i8js42v2kj44khk543a93sk3n6wlfpv3c84pdqlm29br";
};
cargoHash = "sha256-cgnTf4KKthO1HvjFCjoZw7eCTqsbobHW5Kjx/6V3r1Q=";
doCheck = false;
nativeBuildInputs = [ makeWrapper ];
postInstall = ''
wrapProgram $out/bin/cargo-kcov \
--prefix PATH : ${lib.makeBinPath [ kcov ]}
'';
meta = with lib; {
description = "Cargo subcommand to run kcov to get coverage report on Linux";
mainProgram = "cargo-kcov";
homepage = "https://github.com/kennytm/cargo-kcov";
license = with licenses; [ mit ];
maintainers = with maintainers; [
saschagrunert
matthiasbeyer
];
};
}
+2 -1
View File
@@ -13,7 +13,7 @@ let
version = "0.2.0";
rev = "0a8ab772fd5c0f1579e4847c5d05aa443ffa2bc8";
hash = "sha256-ZRAbvSMrPtgaWy9RwlykQ3iiPxHCMh/tS5p67/4XqqA=";
cargoHash = "sha256-qt3S6ZcLEP9ZQoP5+kSQdmBlxdMgGUqLszdU7JkFNVI=";
cargoHash = "sha256-GrHH98jcJaEkCzHe1hoVAeZvTvE0kXdp0bPTIiiOYss=";
inherit (rustPlatform) buildRustPackage;
in
@@ -25,6 +25,7 @@ buildRustPackage rec {
repo = pname;
};
useFetchCargoVendor = true;
inherit cargoHash;
meta = with lib; {
+8 -6
View File
@@ -26,12 +26,14 @@ stdenv.mkDerivation {
fetchSubmodules = true;
};
patches = [
# Include chawan's man pages in mancha's search path
(replaceVars ./mancha-augment-path.diff {
out = placeholder "out";
})
];
patches = [ ./mancha-augment-path.diff ];
# Include chawan's man pages in mancha's search path
postPatch = ''
# As we need the $out reference, we can't use `replaceVars` here.
substituteInPlace adapter/protocol/man.nim \
--replace-fail '@out@' "$out"
'';
env.NIX_CFLAGS_COMPILE = toString (
lib.optional stdenv.cc.isClang "-Wno-error=implicit-function-declaration"
+2 -2
View File
@@ -9,13 +9,13 @@
buildGoModule rec {
pname = "cilium-cli";
version = "0.16.22";
version = "0.16.23";
src = fetchFromGitHub {
owner = "cilium";
repo = "cilium-cli";
tag = "v${version}";
hash = "sha256-P4S+4N9f/m28lNwx7xzYcq99nvXelSvzX01QXDhfGM4=";
hash = "sha256-8GD3VjYInPaxOFoPeJGWIDfOIUQ7+g3GgfVq/IS18Bw=";
};
nativeBuildInputs = [ installShellFiles ];
+2 -2
View File
@@ -19,12 +19,12 @@ let
in
stdenv.mkDerivation rec {
pname = "circt";
version = "1.102.0";
version = "1.103.0";
src = fetchFromGitHub {
owner = "llvm";
repo = "circt";
rev = "firtool-${version}";
hash = "sha256-hnmQR9Buu+2z1UkeStVFazbl/czUhV8E7sZrkcPGKFo=";
hash = "sha256-MpNsGioHd7VstuHlzI7SUvrvGcSpViULzAyL0CzMFgw=";
fetchSubmodules = true;
};
+48
View File
@@ -0,0 +1,48 @@
{
lib,
rustPlatform,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
pname = "clorinde";
version = "0.11.2";
src = fetchFromGitHub {
owner = "halcyonnouveau";
repo = "clorinde";
tag = "clorinde-v${version}";
hash = "sha256-Nqf0NNjE3gu+75tjMKAY3Wn75PiPwpnXgXtzdhqx7u8=";
};
cargoHash = "sha256-OLA9n7MBN5Fz3D3MJLb6PoEksO5Da2mp5h8pti2/lpA=";
cargoBuildFlags = [ "--package=clorinde" ];
cargoTestFlags = cargoBuildFlags;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"clorinde-v(.*)"
];
};
meta = {
description = "Generate type-checked Rust from your PostgreSQL";
homepage = "https://github.com/halcyonnouveau/clorinde";
changelog = "https://github.com/halcyonnouveau/clorinde/blob/${src.rev}/CHANGELOG.md";
license = with lib.licenses; [
mit
asl20
];
maintainers = with lib.maintainers; [ defelo ];
mainProgram = "clorinde";
};
}
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "cloud-nuke";
version = "0.38.0";
version = "0.38.1";
src = fetchFromGitHub {
owner = "gruntwork-io";
repo = pname;
tag = "v${version}";
hash = "sha256-bQPfKIpOh3eq+7cGU7pB+y2a9wsOXNBdmqYbZ0kC6k8=";
hash = "sha256-i+mhxcY7201YADNb+OHLoh4zLIBLwkWVBZ6RnYPOJaM=";
};
vendorHash = "sha256-8PXmTI6xthWvAOkyOsxqr+ea0cscDMg3yp4DELDQvZA=";
vendorHash = "sha256-OrTRHje3ks3eGsJNusWJTpL740OWj5jy1es52DfNDbI=";
nativeBuildInputs = [
makeBinaryWrapper
+2 -2
View File
@@ -20,11 +20,11 @@ let
in
stdenv.mkDerivation rec {
pname = "coursier";
version = "2.1.22";
version = "2.1.24";
src = fetchurl {
url = "https://github.com/coursier/coursier/releases/download/v${version}/coursier";
hash = "sha256-0ugWgvG3AHt7h8F8W8kCksyx93YO51i5StqGAEZXGmg=";
hash = "sha256-eql18SRpcm1ruHhSEHr+C41vPIKxKknvQ8xmR8TgV8o=";
};
dontUnpack = true;
+2 -2
View File
@@ -6,13 +6,13 @@
stdenvNoCC.mkDerivation rec {
pname = "cozette";
version = "1.25.2";
version = "1.26.0";
src = fetchzip {
url = "https://github.com/slavfox/Cozette/releases/download/v.${version}/CozetteFonts-v-${
builtins.replaceStrings [ "." ] [ "-" ] version
}.zip";
hash = "sha256-LtZHbsma9EuegS349gQo4W+ZT8x+Vb3CD/5vRKjwkzc=";
hash = "sha256-FOgRz9amVmJSBYPa0HEwzXWsdcc53td9g3tY3sQbs9c=";
};
installPhase = ''
+2 -2
View File
@@ -8,7 +8,7 @@
stdenv.mkDerivation rec {
pname = "cproto";
version = "4.7w";
version = "4.7x";
src = fetchurl {
urls = [
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
# No version listings and apparently no versioned tarball over http(s).
"ftp://ftp.invisible-island.net/cproto/cproto-${version}.tgz"
];
sha256 = "sha256-ix1GjM2aKFnzmcdf773KDf3KTcMYkf7bxArFwybSe20=";
sha256 = "sha256-+yS3JU2KURiRPTt6VDMZdeYFU6/HC4jk58KZggNHjP4=";
};
# patch made by Joe Khoobyar copied from gentoo bugs
-34
View File
@@ -1,34 +0,0 @@
{
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage rec {
pname = "diskonaut";
version = "0.11.0";
src = fetchFromGitHub {
owner = "imsnif";
repo = "diskonaut";
rev = version;
sha256 = "1pmbag3r2ka30zmy2rs9jps2qxj2zh0gy4a774v9yhf0b6qjid54";
};
cargoHash = "sha256-S/ne3iTEnlA3AqcPg3geLzV4bYVuYPjMCITSVJFnWYI=";
# 1 passed; 44 failed https://hydra.nixos.org/build/148943783/nixlog/1
doCheck = !stdenv.hostPlatform.isDarwin;
meta = with lib; {
description = "Terminal disk space navigator";
homepage = "https://github.com/imsnif/diskonaut";
license = licenses.mit;
maintainers = with maintainers; [
evanjs
figsoda
];
mainProgram = "diskonaut";
};
}
+3 -3
View File
@@ -9,14 +9,14 @@
rustPlatform.buildRustPackage rec {
pname = "dotslash";
version = "0.4.3";
version = "0.5.0";
src = fetchCrate {
inherit pname version;
hash = "sha256-EcYDMuAVSCzpHgekSQsQfv/PNDj0jB7Ht9LRgm+tgd0=";
hash = "sha256-QrqcUc0RJXrahWHGgJbJwD3wufa2829NNHqiZx9V+sU=";
};
cargoHash = "sha256-w2P1J2TDtGqrJYQWTrkaF41iTRDttB1pdfF11sCbHCA=";
cargoHash = "sha256-he8W+gnajScRgWy7cveqZ9vod3n4zBFSDPw8pUUHObY=";
doCheck = false; # http tests
passthru = {
+3 -3
View File
@@ -27,11 +27,11 @@ let
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "dynamodb-local";
version = "2.5.3";
version = "2.5.4";
src = fetchurl {
url = "https://d1ni2b6xgvw0s0.cloudfront.net/v2.x/dynamodb_local_2024-11-06.tar.gz";
hash = "sha256-h1yyfceEPQ0kJj8OFSEoD5v98Ovw5p+9G0ywDnyGWOA=";
url = "https://d1ni2b6xgvw0s0.cloudfront.net/v2.x/dynamodb_local_2024-12-23.tar.gz";
hash = "sha256-YLFWH6YUFkLb062at1pjFclId/b0LmBVESWxHqimLJc=";
};
sourceRoot = ".";
+5 -4
View File
@@ -6,16 +6,17 @@
rustPlatform.buildRustPackage rec {
pname = "epilys-bb";
version = "unstable-2020-12-04";
version = "0.4.4";
src = fetchFromGitHub {
owner = "epilys";
repo = "bb";
rev = "c903d4c2975509299fd3d2600a0c4c2102f445d0";
hash = "sha256-KOXK+1arUWtu/QU7dwXhojIM0faMtwNN3AqVbofq1lY=";
rev = "v${version}";
hash = "sha256-szeEBiolg2rVD2XZoNrncUYnA8KPhWwhQPYsjuxp904=";
};
cargoHash = "sha256-+aCMwKOg+3HDntG14gjJLec8XD51wuTyYyzLjuW6lbY=";
useFetchCargoVendor = true;
cargoHash = "sha256-xUNvVG5jdAXsro2P8je3LFxqMycJEB4j7w3abf6jilw=";
meta = with lib; {
description = "Clean, simple, and fast process viewer";
@@ -6,11 +6,11 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "fcitx5-pinyin-moegirl";
version = "20250111";
version = "20250113";
src = fetchurl {
url = "https://github.com/outloudvi/mw2fcitx/releases/download/${finalAttrs.version}/moegirl.dict";
hash = "sha256-ooYpkrqeOc5OrjeGTbobfv4b8x5uV/ot3QaU3d5MRLQ=";
hash = "sha256-Z6MqYZMpvTGcz61NnzZQy63GXfcaTWE8dezPoYht6q0=";
};
dontUnpack = true;
+2 -2
View File
@@ -1,6 +1,6 @@
{
bc-ur,
boost,
boost186,
cmake,
fetchFromGitHub,
hidapi,
@@ -43,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs =
[
bc-ur
boost
boost186
hidapi
libsodium
libusb1
+3 -3
View File
@@ -13,16 +13,16 @@
rustPlatform.buildRustPackage rec {
pname = "felix";
version = "2.14.0";
version = "2.16.0";
src = fetchFromGitHub {
owner = "kyoheiu";
repo = "felix";
tag = "v${version}";
hash = "sha256-PcC0lZ41qTVE4V3VdwBq83qYfEJO3RJouuS2+bpcBfo=";
hash = "sha256-h/sytTRufqFgnhbg67qtTx6XhnC/UzgT4zFq4bJYhQM=";
};
cargoHash = "sha256-4tvk7H2CrTx9m1f0PLnNv+LWg6oIGTUfirRhIaz2lHo=";
cargoHash = "sha256-CmIzarcjwhFkgzccLS2eIEc4J89TlazUzNQfqzmY16I=";
nativeBuildInputs = [ pkg-config ];
-39
View File
@@ -1,39 +0,0 @@
{
lib,
rustPlatform,
fetchFromGitHub,
makeWrapper,
gnuplot,
}:
rustPlatform.buildRustPackage rec {
pname = "fornalder";
version = "unstable-2022-12-25";
src = fetchFromGitHub {
owner = "hpjansson";
repo = pname;
rev = "3248128fe320d88183d17a65e936092e07d6529b";
sha256 = "sha256-IPSxVWJs4EhyBdA1NXpD8v3fusewt1ELpn/kbZt7c5Q=";
};
cargoHash = "sha256-eK+oQbOQj8pKiOTXzIgRjzVB7Js8MMa9V6cF9D98Ftc=";
nativeBuildInputs = [ makeWrapper ];
postInstall = ''
wrapProgram $out/bin/fornalder \
--suffix PATH : ${lib.makeBinPath [ gnuplot ]}
'';
meta = with lib; {
description = "Visualize long-term trends in collections of Git repositories";
homepage = "https://github.com/hpjansson/fornalder";
license = licenses.gpl3Only;
maintainers = with maintainers; [
astro
figsoda
];
mainProgram = "fornalder";
};
}
+2 -2
View File
@@ -7,10 +7,10 @@
let
pname = "framesh";
version = "0.6.9";
version = "0.6.10";
src = fetchurl {
url = "https://github.com/floating/frame/releases/download/v${version}/Frame-${version}.AppImage";
hash = "sha256-SsQIAg5DttvNJk1z+GJq4+e0Qa/j+VEKPV2bPA6+V8A=";
hash = "sha256-h2Y0G7luakd5UVu7bVt9r6xhvyOh80gYMTswmEIcnnk=";
};
appimageContents = appimageTools.extractType2 {
+3 -3
View File
@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec {
pname = "fzf-make";
version = "0.55.0";
version = "0.56.0";
src = fetchFromGitHub {
owner = "kyu08";
repo = "fzf-make";
rev = "v${version}";
hash = "sha256-YPflHIHOnl6j2J60g1K2HjjUVf21P4Tofi65K3FUZxs=";
hash = "sha256-OioPl2uJVepMsR1PYHpASj3yQ10bCaGFxI1wQR61EsA=";
};
cargoHash = "sha256-oXxCPuUtzUNYrlqUdksGodITnWt7pGrA8UsNYSzOJVA=";
cargoHash = "sha256-Y1kFbJi+AB4uROieZERafU82RWm2AGQseDUuVzJn3NA=";
useFetchCargoVendor = true;
+3 -3
View File
@@ -5,16 +5,16 @@
buildGoModule rec {
pname = "gat";
version = "0.19.3";
version = "0.20.0";
src = fetchFromGitHub {
owner = "koki-develop";
repo = "gat";
tag = "v${version}";
hash = "sha256-MBRKp1S/6dizZR0zDyaNGqKsHI+vK6oTNkPuxwbf7os=";
hash = "sha256-xO0MUbryuglbRIbBEbKJGYPPaJD8j4hNpIR+Kqc302s=";
};
vendorHash = "sha256-ns1jFmBvIfclb3SBtdg05qNBy18p6VjtEKrahtxJUM4=";
vendorHash = "sha256-z2Hbn1debyJn/nTKVC2y3vd6V7XQyHFPNA6hCVuYzgU=";
env.CGO_ENABLED = 0;
@@ -1,26 +0,0 @@
{
lib,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage rec {
pname = "git-codeowners";
version = "0.1.2";
src = fetchFromGitHub {
owner = "softprops";
repo = "git-codeowners";
rev = "v${version}";
hash = "sha256-eF6X+fLkQ8lZIk4WPzlW7l05P90gB5nxD5Ss32Im+C8=";
};
cargoHash = "sha256-TayvqcVNCFHF5UpR1pPVRe076Pa8LS4duhnZLzYxkQM=";
meta = with lib; {
homepage = "https://github.com/softprops/git-codeowners";
description = "Git extension to work with CODEOWNERS files";
license = licenses.mit;
maintainers = with maintainers; [ zimbatm ];
mainProgram = "git-codeowners";
};
}
+3 -3
View File
@@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gitify";
version = "5.17.0";
version = "5.18.0";
src = fetchFromGitHub {
owner = "gitify-app";
repo = "gitify";
tag = "v${finalAttrs.version}";
hash = "sha256-l89CXfARLBNS6MMq54gM63y5FqeHdMXDBt52znir+/A=";
hash = "sha256-INeOQY39IepcqigThymEcBjkrQkIC/9Py+g32/VBpmg=";
};
nativeBuildInputs = [
@@ -33,7 +33,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = pnpm_9.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-I78AvOBdDd59eVJJ51xxNwVvMnNvLdJJpFEtE/I1H8U=";
hash = "sha256-86RiBzZwoyDX5l9wV3JiUo4efkol3sKH3tlu61D7D+0=";
};
env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
+3 -3
View File
@@ -10,15 +10,15 @@
rustPlatform.buildRustPackage rec {
pname = "gitlab-ci-ls";
version = "1.0.0";
version = "1.0.1";
src = fetchFromGitHub {
owner = "alesbrelih";
repo = "gitlab-ci-ls";
rev = "${version}";
hash = "sha256-HpFdebG4pRa+g2ycOOfnWgN/+DcYdPHAN/RHBHN6S8A=";
hash = "sha256-G0MKq2qGxcMpNOQDHo9LtewDEExYIA8/kTUkiZdnygg=";
};
cargoHash = "sha256-CS3MkCumqHmTcRf/YJr/M8s7BoGos/ixXm97BCCXBvw=";
cargoHash = "sha256-YzSBCc+1Vsg4daTjGlskER3P9UjNobwT6KYFoQjLTWs=";
nativeBuildInputs = [ pkg-config ];
buildInputs =
+51
View File
@@ -0,0 +1,51 @@
{
lib,
clangStdenv,
fetchzip,
cairo,
fontconfig,
freetype,
gnustep-gui,
libXft,
libXmu,
pkg-config,
wrapGNUstepAppsHook,
}:
clangStdenv.mkDerivation (finalAttrs: {
pname = "gnustep-back";
version = "0.31.0";
src = fetchzip {
url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-back-${finalAttrs.version}.tar.gz";
sha256 = "sha256-CjcoXlKiPVPJMOdrBKjxiNauTZvLcId5Lb8DzbgBbBg=";
};
nativeBuildInputs = [
pkg-config
wrapGNUstepAppsHook
];
buildInputs = [
cairo
fontconfig
freetype
libXft
libXmu
];
propagatedBuildInputs = [ gnustep-gui ];
meta = {
description = "Generic backend for GNUstep";
mainProgram = "gpbs";
homepage = "https://gnustep.github.io/";
license = lib.licenses.lgpl2Plus;
maintainers = with lib.maintainers; [
ashalkhakov
dblsaiko
matthewbauer
];
platforms = lib.platforms.linux;
};
})
@@ -1,70 +1,78 @@
{
lib,
stdenv,
clangStdenv,
fetchpatch,
fetchzip,
aspell,
audiofile,
make,
wrapGNUstepAppsHook,
cups,
fetchzip,
fetchpatch,
gmp,
gnutls,
libffi,
binutils-unwrapped,
libjpeg,
libtiff,
libpng,
cups,
giflib,
gmp,
gnustep-libobjc,
gnustep-make,
gnutls,
icu,
libffi,
libgcrypt,
libiberty,
libiconv,
libjpeg,
libpng,
libtiff,
libxml2,
libxslt,
libiconv,
libobjc,
libgcrypt,
icu,
pkg-config,
portaudio,
libiberty,
wrapGNUstepAppsHook,
}:
stdenv.mkDerivation (finalAttrs: {
clangStdenv.mkDerivation (finalAttrs: {
pname = "gnustep-base";
version = "1.29.0";
src = fetchzip {
url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-base-${finalAttrs.version}.tar.gz";
hash = "sha256-4fjdsLBsYEDxLOFrq17dKii2sLKvOaFCu0cw3qQtM5U=";
};
outputs = [
"out"
"dev"
"lib"
];
nativeBuildInputs = [
pkg-config
make
wrapGNUstepAppsHook
];
propagatedNativeBuildInputs = [
gnustep-make
];
propagatedBuildInputs = [
aspell
audiofile
cups
gmp
gnutls
libffi
binutils-unwrapped
libjpeg
libtiff
libpng
cups
giflib
gmp
gnustep-libobjc
gnutls
icu
libffi
libgcrypt
libiberty
libiconv
libjpeg
libpng
libtiff
libxml2
libxslt
libiconv
libobjc
libgcrypt
icu
portaudio
libiberty
];
patches = [
./fixup-paths.patch
# https://github.com/gnustep/libs-base/issues/212 / https://www.sogo.nu/bugs/view.php?id=5416#c15585
@@ -95,8 +103,8 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.lgpl2Plus;
maintainers = with lib.maintainers; [
ashalkhakov
matthewbauer
dblsaiko
matthewbauer
];
platforms = lib.platforms.linux;
};
@@ -1,13 +1,12 @@
{
lib,
stdenv,
make,
wrapGNUstepAppsHook,
clangStdenv,
fetchzip,
base,
gnustep-base,
wrapGNUstepAppsHook,
}:
stdenv.mkDerivation (finalAttrs: {
clangStdenv.mkDerivation (finalAttrs: {
version = "0.31.1";
pname = "gnustep-gui";
@@ -16,15 +15,14 @@ stdenv.mkDerivation (finalAttrs: {
sha256 = "sha256-+4XEJ6PKpantbIbyNroFMaNBTFffkuW/ajSocGQO9Mo=";
};
nativeBuildInputs = [
make
wrapGNUstepAppsHook
];
buildInputs = [ base ];
nativeBuildInputs = [ wrapGNUstepAppsHook ];
propagatedBuildInputs = [ gnustep-base ];
patches = [
./fixup-all.patch
];
meta = {
changelog = "https://github.com/gnustep/libs-gui/releases/tag/gui-${
builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version
@@ -34,8 +32,8 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.lgpl2Plus;
maintainers = with lib.maintainers; [
ashalkhakov
matthewbauer
dblsaiko
matthewbauer
];
platforms = lib.platforms.linux;
};
@@ -1,13 +1,13 @@
{
lib,
stdenv,
clangStdenv,
fetchFromGitHub,
cmake,
robin-map,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libobjc2";
clangStdenv.mkDerivation (finalAttrs: {
pname = "gnustep-libobjc";
version = "2.2.1";
src = fetchFromGitHub {
@@ -19,19 +19,20 @@ stdenv.mkDerivation (finalAttrs: {
};
nativeBuildInputs = [ cmake ];
buildInputs = [ robin-map ];
cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ];
meta = with lib; {
broken = stdenv.hostPlatform.isDarwin;
broken = clangStdenv.hostPlatform.isDarwin;
description = "Objective-C runtime for use with GNUstep";
homepage = "https://gnustep.github.io/";
license = licenses.mit;
maintainers = with lib.maintainers; [
ashalkhakov
matthewbauer
dblsaiko
matthewbauer
];
platforms = platforms.unix;
};
@@ -1,12 +1,12 @@
{
lib,
stdenv,
clangStdenv,
fetchurl,
gnustep-libobjc,
which,
libobjc,
}:
stdenv.mkDerivation (finalAttrs: {
clangStdenv.mkDerivation (finalAttrs: {
pname = "gnustep-make";
version = "2.9.2";
@@ -18,14 +18,17 @@ stdenv.mkDerivation (finalAttrs: {
configureFlags = [
"--with-layout=fhs-system"
"--disable-install-p"
"--with-config-file=${placeholder "out"}/etc/GNUstep/GNUstep.conf"
];
preConfigure = ''
configureFlags="$configureFlags --with-config-file=$out/etc/GNUstep/GNUstep.conf"
'';
makeFlags = [
"GNUSTEP_INSTALLATION_DOMAIN=SYSTEM"
];
buildInputs = [ libobjc ];
buildInputs = [ gnustep-libobjc ];
propagatedBuildInputs = [ which ];
@@ -41,8 +44,8 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.lgpl2Plus;
maintainers = with lib.maintainers; [
ashalkhakov
matthewbauer
dblsaiko
matthewbauer
];
platforms = lib.platforms.unix;
};
@@ -1,15 +1,12 @@
{
lib,
stdenv,
clangStdenv,
fetchurl,
make,
gnustep-back,
wrapGNUstepAppsHook,
back,
base,
gui,
}:
stdenv.mkDerivation (finalAttrs: {
clangStdenv.mkDerivation (finalAttrs: {
pname = "system-preferences";
version = "1.2.0";
@@ -18,15 +15,9 @@ stdenv.mkDerivation (finalAttrs: {
sha256 = "1fg7c3ihfgvl6n21rd17fs9ivx3l8ps874m80vz86n1callgs339";
};
nativeBuildInputs = [
make
wrapGNUstepAppsHook
];
buildInputs = [
back
base
gui
];
nativeBuildInputs = [ wrapGNUstepAppsHook ];
buildInputs = [ gnustep-back ];
meta = {
description = "Settings manager for the GNUstep environment and its applications";
@@ -35,8 +26,8 @@ stdenv.mkDerivation (finalAttrs: {
mainProgram = "SystemPreferences";
maintainers = with lib.maintainers; [
ashalkhakov
matthewbauer
dblsaiko
matthewbauer
];
platforms = lib.platforms.linux;
};
+2 -2
View File
@@ -8,13 +8,13 @@
buildGoModule rec {
pname = "golds";
version = "0.7.4";
version = "0.7.5";
src = fetchFromGitHub {
owner = "go101";
repo = "golds";
tag = "v${version}";
hash = "sha256-kVXr/5qJCTjpfRpz2mDIsMRirp5dT5aGo/BlLR9Qp0M=";
hash = "sha256-maYkVZlr8VW3nsNLVD+ib8TfltBkDrgWiC7VyeEJIy4=";
};
# nixpkgs is not using the go distpack archive and missing a VERSION file in the source
@@ -1,15 +1,12 @@
{
lib,
stdenv,
clangStdenv,
fetchzip,
base,
back,
make,
gnustep-back,
wrapGNUstepAppsHook,
gui,
}:
stdenv.mkDerivation (finalAttrs: {
clangStdenv.mkDerivation (finalAttrs: {
pname = "gorm";
version = "1.4.0";
@@ -18,15 +15,9 @@ stdenv.mkDerivation (finalAttrs: {
sha256 = "sha256-B7NNRA3qA2PFbb03m58EBBONuIciLf6eU+YSR0qvaCo=";
};
nativeBuildInputs = [
make
wrapGNUstepAppsHook
];
buildInputs = [
base
back
gui
];
nativeBuildInputs = [ wrapGNUstepAppsHook ];
buildInputs = [ gnustep-back ];
meta = {
description = "Graphical Object Relationship Modeller is an easy-to-use interface designer for GNUstep";
@@ -35,8 +26,8 @@ stdenv.mkDerivation (finalAttrs: {
mainProgram = "Gorm";
maintainers = with lib.maintainers; [
ashalkhakov
matthewbauer
dblsaiko
matthewbauer
];
platforms = lib.platforms.linux;
};
+76 -51
View File
@@ -1,44 +1,56 @@
{ lib
, stdenv
, fetchurl
, pkg-config
, libressl
, libbsd
, libevent
, libuuid
, libossp_uuid
, libmd
, zlib
, ncurses
, bison
, autoPatchelfHook
, testers
, signify
, overrideSDK
, withSsh ? true, openssh
# Default editor to use when neither VISUAL nor EDITOR are defined
, defaultEditor ? null
{
lib,
stdenv,
fetchurl,
pkg-config,
libressl,
libbsd,
libevent,
libuuid,
libossp_uuid,
libmd,
zlib,
ncurses,
bison,
autoPatchelfHook,
testers,
signify,
apple-sdk_15,
nix-update-script,
withSsh ? true,
openssh,
# Default editor to use when neither VISUAL nor EDITOR are defined
defaultEditor ? null,
}:
let
stdenv' = if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64
then overrideSDK stdenv "11.0"
else stdenv;
in
stdenv'.mkDerivation (finalAttrs: {
stdenv.mkDerivation (finalAttrs: {
pname = "got";
version = "0.106";
version = "0.108";
src = fetchurl {
url = "https://gameoftrees.org/releases/portable/got-portable-${finalAttrs.version}.tar.gz";
hash = "sha256-MHnXQsElBH3jOd2SPXXQuWCZWjpLVn7QjvNtESvbB8w=";
hash = "sha256-bI0yCt01h65HwG2jLUH+5Ah+1mGTG6ZNxt53v0Mr0+I=";
};
nativeBuildInputs = [ pkg-config bison ]
++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ];
nativeBuildInputs = [
pkg-config
bison
] ++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ];
buildInputs = [ libressl libbsd libevent libuuid libmd zlib ncurses ]
++ lib.optionals stdenv.hostPlatform.isDarwin [ libossp_uuid ];
buildInputs =
[
libressl
libbsd
libevent
libuuid
libmd
zlib
ncurses
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
libossp_uuid
apple-sdk_15
];
preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin ''
# The configure script assumes dependencies on Darwin are installed via
@@ -48,25 +60,35 @@ stdenv'.mkDerivation (finalAttrs: {
'';
env.NIX_CFLAGS_COMPILE = toString (
lib.optionals (defaultEditor != null) [
''-DGOT_DEFAULT_EDITOR="${lib.getExe defaultEditor}"''
] ++ lib.optionals withSsh [
''-DGOT_DIAL_PATH_SSH="${lib.getExe openssh}"''
''-DGOT_TAG_PATH_SSH_KEYGEN="${lib.getExe' openssh "ssh-keygen"}"''
] ++ lib.optionals stdenv.hostPlatform.isLinux [
''-DGOT_TAG_PATH_SIGNIFY="${lib.getExe signify}"''
] ++ lib.optionals stdenv.cc.isClang [
"-Wno-error=implicit-function-declaration"
"-Wno-error=int-conversion"
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
# error: conflicting types for 'strmode'
"-DHAVE_STRMODE=1"
# Undefined symbols for architecture arm64: "_bsd_getopt"
"-include getopt.h"
]);
lib.optionals (defaultEditor != null) [
''-DGOT_DEFAULT_EDITOR="${lib.getExe defaultEditor}"''
]
++ lib.optionals withSsh [
''-DGOT_DIAL_PATH_SSH="${lib.getExe openssh}"''
''-DGOT_TAG_PATH_SSH_KEYGEN="${lib.getExe' openssh "ssh-keygen"}"''
]
++ lib.optionals stdenv.hostPlatform.isLinux [
''-DGOT_TAG_PATH_SIGNIFY="${lib.getExe signify}"''
]
++ lib.optionals stdenv.cc.isClang [
"-Wno-error=implicit-function-declaration"
"-Wno-error=int-conversion"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# error: conflicting types for 'strmode'
"-DHAVE_STRMODE=1"
# Undefined symbols for architecture arm64: "_bsd_getopt"
"-include getopt.h"
]
);
passthru.tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
passthru = {
updateScript = nix-update-script {
extraArgs = [ "--url=https://github.com/ThomasAdam/got-portable" ];
};
tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
};
};
meta = {
@@ -83,7 +105,10 @@ stdenv'.mkDerivation (finalAttrs: {
'';
homepage = "https://gameoftrees.org";
license = lib.licenses.isc;
maintainers = with lib.maintainers; [ abbe afh ];
maintainers = with lib.maintainers; [
abbe
afh
];
mainProgram = "got";
platforms = with lib.platforms; darwin ++ linux;
};
@@ -14,13 +14,13 @@
mkYarnPackage rec {
pname = "grafana-image-renderer";
version = "3.11.6";
version = "3.12.0";
src = fetchFromGitHub {
owner = "grafana";
repo = "grafana-image-renderer";
rev = "v${version}";
hash = "sha256-jHACiSTZHNHj61kN8zEjGb3NpkhRJrJ7Mp0pNmJXDXY=";
hash = "sha256-iTWkr7mruGda7CVz0L6puHeObnogXHfqjF9KAY+ExJg=";
};
offlineCache = fetchYarnDeps {
+7 -5
View File
@@ -68,11 +68,13 @@ in
buildGoModule {
inherit pname version src;
patches = [
(replaceVars ./bridge.patch {
basepath = placeholder "out";
})
];
patches = [ ./bridge.patch ];
postPatch = ''
# As we need the $out reference, we can't use `replaceVars` here.
substituteInPlace bridge/bridge.go \
--replace-fail '@basepath@' "$out"
'';
vendorHash = "sha256-OrysyJF+lUMf+0vWmOZHjxUdE6fQCKArmpV4alXxtYs=";
+7 -5
View File
@@ -68,11 +68,13 @@ in
buildGoModule {
inherit pname version src;
patches = [
(replaceVars ./bridge.patch {
basepath = placeholder "out";
})
];
patches = [ ./bridge.patch ];
postPatch = ''
# As we need the $out reference, we can't use `replaceVars` here.
substituteInPlace bridge/bridge.go \
--replace-fail '@basepath@' "$out"
'';
vendorHash = "sha256-OrysyJF+lUMf+0vWmOZHjxUdE6fQCKArmpV4alXxtYs=";
@@ -1,16 +1,13 @@
{
lib,
stdenv,
back,
base,
gui,
make,
wrapGNUstepAppsHook,
clangStdenv,
fetchurl,
system_preferences,
gnustep-back,
gnustep-systempreferences,
wrapGNUstepAppsHook,
}:
stdenv.mkDerivation (finalAttrs: {
clangStdenv.mkDerivation (finalAttrs: {
pname = "gworkspace";
version = "1.0.0";
@@ -22,16 +19,13 @@ stdenv.mkDerivation (finalAttrs: {
# additional dependencies:
# - PDFKit framework from http://gap.nongnu.org/
# - TODO: to --enable-gwmetadata, need libDBKit as well as sqlite!
nativeBuildInputs = [
make
wrapGNUstepAppsHook
];
nativeBuildInputs = [ wrapGNUstepAppsHook ];
buildInputs = [
back
base
gui
system_preferences
gnustep-back
gnustep-systempreferences
];
configureFlags = [ "--with-inotify" ];
meta = {
@@ -41,8 +35,8 @@ stdenv.mkDerivation (finalAttrs: {
mainProgram = "GWorkspace";
maintainers = with lib.maintainers; [
ashalkhakov
matthewbauer
dblsaiko
matthewbauer
];
platforms = lib.platforms.linux;
};
-40
View File
@@ -1,40 +0,0 @@
{
lib,
fetchCrate,
rustPlatform,
pkg-config,
libXrandr,
libX11,
python3,
}:
rustPlatform.buildRustPackage rec {
pname = "hacksaw";
version = "1.0.4";
nativeBuildInputs = [
pkg-config
python3
];
buildInputs = [
libXrandr
libX11
];
src = fetchCrate {
inherit pname version;
hash = "sha256-HRYTiccXU8DboAwZAr2gfzXUs8igSiFDpOEGtHpI0dA=";
};
cargoHash = "sha256-CDDJmWnAcXJ4wPfSPvu2DfthaFwZGZk1XXMNTA1g0+c=";
meta = with lib; {
description = "Lightweight selection tool for usage in screenshot scripts etc";
homepage = "https://github.com/neXromancers/hacksaw";
license = with licenses; [ mpl20 ];
maintainers = with maintainers; [ TethysSvensson ];
platforms = platforms.linux;
mainProgram = "hacksaw";
};
}
@@ -5,11 +5,11 @@
}:
let
pname = "handheld-daemon-ui";
version = "3.3.5";
version = "3.3.6";
src = fetchurl {
url = "https://github.com/hhd-dev/hhd-ui/releases/download/v${version}/hhd-ui.Appimage";
hash = "sha256-g8LB24WxpbsGDFHRI0c80m9XXZghKYiRyuRRoYvb34g=";
hash = "sha256-M9YTP4Q27bqeTD5JhO58ltPDxgMuGAftOXYAGHQNmhc=";
};
extractedFiles = appimageTools.extractType2 { inherit pname version src; };
in
+2 -2
View File
@@ -9,13 +9,13 @@
buildGoModule rec {
pname = "helm-ls";
version = "0.1.1";
version = "0.2.0";
src = fetchFromGitHub {
owner = "mrjosh";
repo = "helm-ls";
rev = "v${version}";
hash = "sha256-pf/gC0jIrJUfU//uj+CGkUsNDVFeS6Wm4kx3Di9wpVI=";
hash = "sha256-k/JJoLRykIY/ZmjqG+ZzXuMPQRcoumqisPKrD9PPyd0=";
};
vendorHash = "sha256-VAxmMDZIbbcGHoRL06oqWkDnWZBuweKyoCLSqItWHyg=";
+2 -2
View File
@@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "hheretic";
version = "0.2.3";
version = "0.2.4";
src = fetchFromGitHub {
owner = "sezero";
repo = "hheretic";
rev = "hheretic-${finalAttrs.version}";
hash = "sha256-e9N869W8STZdLUBSscxEnF2Z+SrdVv8ARDL8AMe1SJ8=";
hash = "sha256-49eQeh0suU+7QLB25cvrqirZRaBgZp438H6NW0pWsPI=";
};
nativeBuildInputs = [
+1 -35
View File
@@ -1,6 +1,5 @@
{
lib,
stdenvNoCC,
buildNpmPackage,
fetchFromGitHub,
fetchpatch2,
@@ -129,21 +128,6 @@ let
'';
};
node-addon-api = stdenvNoCC.mkDerivation rec {
pname = "node-addon-api";
version = "8.3.0";
src = fetchFromGitHub {
owner = "nodejs";
repo = "node-addon-api";
tag = "v${version}";
hash = "sha256-7KkJkMNX352XnWTOC6mJB+IcFrda20UENcNwoXWDm+s=";
};
installPhase = ''
mkdir $out
cp -r *.c *.h *.gyp *.gypi index.js package-support.json package.json tools $out/
'';
};
vips' = vips.overrideAttrs (prev: {
mesonFlags = prev.mesonFlags ++ [ "-Dtiff=disabled" ];
});
@@ -180,27 +164,9 @@ buildNpmPackage' {
# Required because vips tries to write to the cache dir
makeCacheWritable = true;
# we manually build sharp from source later on
# FIXME figure out why otherwise it fails with
# error: 'NewOrCopy' is not a member of 'Napi::Buffer<char>'
env.SHARP_IGNORE_GLOBAL_LIBVIPS = 1;
env.SHARP_FORCE_GLOBAL_LIBVIPS = 1;
preBuild = ''
unset SHARP_IGNORE_GLOBAL_LIBVIPS
export SHARP_FORCE_GLOBAL_LIBVIPS=1
pushd node_modules/sharp
mkdir node_modules
ln -s ${node-addon-api} node_modules/node-addon-api
node install/check
rm -r node_modules
popd
rm -r node_modules/@img/sharp*
# If exiftool-vendored.pl isn't found, exiftool is searched for on the PATH
rm -r node_modules/exiftool-vendored.*
'';
+12 -12
View File
@@ -1,26 +1,26 @@
{
"version": "1.124.2",
"hash": "sha256-EIp1KH2sNvEiB3wl6m0IiAUyDwBETgKlSXCrIsw73Oo=",
"version": "1.125.2",
"hash": "sha256-vtEUMERvCibOKYlHtu8eTQX6LLAMF5riBs2feX8HCAU=",
"components": {
"cli": {
"npmDepsHash": "sha256-k3sA4OcjlvzMMI2GsUYks2fIj7LG89H3OX4vTZOCIOo=",
"version": "2.2.40"
"npmDepsHash": "sha256-wHxNmmZVWuOYueEgkSGokwVZ20DklrjTyLYyamLzPvk=",
"version": "2.2.43"
},
"server": {
"npmDepsHash": "sha256-O0XqMOUYy7VdumDDbSenMy22lgZLCDy/GpaSVNs+k4I=",
"version": "1.124.2"
"npmDepsHash": "sha256-0zcEiQM2KDrpLVv/uybcis9ohtyB5LcbZhvlXSMVRg0=",
"version": "1.125.2"
},
"web": {
"npmDepsHash": "sha256-f3p0HT7l3hXFEo+8AvKEn8QvH6KOTMGZOvaOAPxv3Kc=",
"version": "1.124.2"
"npmDepsHash": "sha256-dTkRTxFhIeXhIkc87pERTCXtEoipiDA6C5RdlQ6Dvo8=",
"version": "1.125.2"
},
"open-api/typescript-sdk": {
"npmDepsHash": "sha256-uk4Gfs10TIsbD4VdHt7a9Fub8PcT6R8ksfvnOLFs/Zo=",
"version": "1.124.2"
"npmDepsHash": "sha256-uBzPhxITGzEnKrcATzTQeIwjKpAE8Y0xoJdC5dm6cZo=",
"version": "1.125.2"
},
"geonames": {
"timestamp": "20250108222614",
"hash": "sha256-gCi0iFQplv4XizDi9DYEVekFFe46DM4X2YiPSe7ugR4="
"timestamp": "20250124195258",
"hash": "sha256-2m+0M6200SixTFVZ1V7ZFw8D4E9VYhbmOto0RqWQPsQ="
}
}
}
-271
View File
@@ -1,271 +0,0 @@
diff --git a/internal/server/instance/drivers/driver_qemu.go b/internal/server/instance/drivers/driver_qemu.go
index 1c773213468..fb43917ca96 100644
--- a/internal/server/instance/drivers/driver_qemu.go
+++ b/internal/server/instance/drivers/driver_qemu.go
@@ -2393,7 +2393,7 @@ func (d *qemu) deviceAttachPath(deviceName string, configCopy map[string]string,
d.logger.Debug("Using PCI bus device to hotplug virtiofs into", logger.Ctx{"device": deviceName, "port": pciDeviceName})
- qemuDev := map[string]string{
+ qemuDev := map[string]any{
"driver": "vhost-user-fs-pci",
"bus": pciDeviceName,
"addr": "00.0",
@@ -2535,7 +2535,7 @@ func (d *qemu) deviceAttachNIC(deviceName string, configCopy map[string]string,
return err
}
- qemuDev := make(map[string]string)
+ qemuDev := make(map[string]any)
// PCIe and PCI require a port device name to hotplug the NIC into.
if slices.Contains([]string{"pcie", "pci"}, qemuBus) {
@@ -2633,7 +2633,7 @@ func (d *qemu) deviceAttachPCI(deviceName string, configCopy map[string]string,
return err
}
- qemuDev := make(map[string]string)
+ qemuDev := make(map[string]any)
escapedDeviceName := linux.PathNameEncode(devName)
d.logger.Debug("Using PCI bus device to hotplug NIC into", logger.Ctx{"device": deviceName, "port": pciDeviceName})
@@ -3589,7 +3589,7 @@ func (d *qemu) generateQemuConfigFile(cpuInfo *cpuTopology, mountInfo *storagePo
break
}
- qemuDev := make(map[string]string)
+ qemuDev := make(map[string]any)
if slices.Contains([]string{"nvme", "virtio-blk"}, busName) {
// Allocate a PCI(e) port and write it to the config file so QMP can "hotplug" the
// drive into it later.
@@ -3600,7 +3600,7 @@ func (d *qemu) generateQemuConfigFile(cpuInfo *cpuTopology, mountInfo *storagePo
qemuDev["addr"] = devAddr
if multi {
- qemuDev["multifunction"] = "on"
+ qemuDev["multifunction"] = true
}
}
@@ -3624,7 +3624,7 @@ func (d *qemu) generateQemuConfigFile(cpuInfo *cpuTopology, mountInfo *storagePo
// Add network device.
if len(runConf.NetworkInterface) > 0 {
- qemuDev := make(map[string]string)
+ qemuDev := make(map[string]any)
if slices.Contains([]string{"pcie", "pci"}, bus.name) {
// Allocate a PCI(e) port and write it to the config file so QMP can "hotplug" the
// NIC into it later.
@@ -3635,7 +3635,7 @@ func (d *qemu) generateQemuConfigFile(cpuInfo *cpuTopology, mountInfo *storagePo
qemuDev["addr"] = devAddr
if multi {
- qemuDev["multifunction"] = "on"
+ qemuDev["multifunction"] = true
}
}
@@ -3860,7 +3860,7 @@ func (d *qemu) addFileDescriptor(fdFiles *[]*os.File, file *os.File) int {
}
// addRootDriveConfig adds the qemu config required for adding the root drive.
-func (d *qemu) addRootDriveConfig(qemuDev map[string]string, mountInfo *storagePools.MountInfo, bootIndexes map[string]int, rootDriveConf deviceConfig.MountEntryItem) (monitorHook, error) {
+func (d *qemu) addRootDriveConfig(qemuDev map[string]any, mountInfo *storagePools.MountInfo, bootIndexes map[string]int, rootDriveConf deviceConfig.MountEntryItem) (monitorHook, error) {
if rootDriveConf.TargetPath != "/" {
return nil, fmt.Errorf("Non-root drive config supplied")
}
@@ -3992,7 +3992,7 @@ func (d *qemu) addDriveDirConfig(cfg *[]cfgSection, bus *qemuBus, fdFiles *[]*os
}
// addDriveConfig adds the qemu config required for adding a supplementary drive.
-func (d *qemu) addDriveConfig(qemuDev map[string]string, bootIndexes map[string]int, driveConf deviceConfig.MountEntryItem) (monitorHook, error) {
+func (d *qemu) addDriveConfig(qemuDev map[string]any, bootIndexes map[string]int, driveConf deviceConfig.MountEntryItem) (monitorHook, error) {
aioMode := "native" // Use native kernel async IO and O_DIRECT by default.
cacheMode := "none" // Bypass host cache, use O_DIRECT semantics by default.
media := "disk"
@@ -4248,7 +4248,7 @@ func (d *qemu) addDriveConfig(qemuDev map[string]string, bootIndexes map[string]
}
if qemuDev == nil {
- qemuDev = map[string]string{}
+ qemuDev = map[string]any{}
}
qemuDev["id"] = fmt.Sprintf("%s%s", qemuDeviceIDPrefix, escapedDeviceName)
@@ -4256,8 +4256,8 @@ func (d *qemu) addDriveConfig(qemuDev map[string]string, bootIndexes map[string]
qemuDev["serial"] = fmt.Sprintf("%s%s", qemuBlockDevIDPrefix, escapedDeviceName)
if bus == "virtio-scsi" {
- qemuDev["channel"] = "0"
- qemuDev["lun"] = "1"
+ qemuDev["channel"] = 0
+ qemuDev["lun"] = 1
qemuDev["bus"] = "qemu_scsi.0"
if media == "disk" {
@@ -4282,7 +4282,7 @@ func (d *qemu) addDriveConfig(qemuDev map[string]string, bootIndexes map[string]
}
if bootIndexes != nil {
- qemuDev["bootindex"] = strconv.Itoa(bootIndexes[driveConf.DevName])
+ qemuDev["bootindex"] = bootIndexes[driveConf.DevName]
}
monHook := func(m *qmp.Monitor) error {
@@ -4336,7 +4336,7 @@ func (d *qemu) addDriveConfig(qemuDev map[string]string, bootIndexes map[string]
}
if driveConf.Limits != nil {
- err = m.SetBlockThrottle(qemuDev["id"], int(driveConf.Limits.ReadBytes), int(driveConf.Limits.WriteBytes), int(driveConf.Limits.ReadIOps), int(driveConf.Limits.WriteIOps))
+ err = m.SetBlockThrottle(qemuDev["id"].(string), int(driveConf.Limits.ReadBytes), int(driveConf.Limits.WriteBytes), int(driveConf.Limits.ReadIOps), int(driveConf.Limits.WriteIOps))
if err != nil {
return fmt.Errorf("Failed applying limits for disk device %q: %w", driveConf.DevName, err)
}
@@ -4351,7 +4351,7 @@ func (d *qemu) addDriveConfig(qemuDev map[string]string, bootIndexes map[string]
// addNetDevConfig adds the qemu config required for adding a network device.
// The qemuDev map is expected to be preconfigured with the settings for an existing port to use for the device.
-func (d *qemu) addNetDevConfig(busName string, qemuDev map[string]string, bootIndexes map[string]int, nicConfig []deviceConfig.RunConfigItem) (monitorHook, error) {
+func (d *qemu) addNetDevConfig(busName string, qemuDev map[string]any, bootIndexes map[string]int, nicConfig []deviceConfig.RunConfigItem) (monitorHook, error) {
reverter := revert.New()
defer reverter.Fail()
@@ -4382,7 +4382,7 @@ func (d *qemu) addNetDevConfig(busName string, qemuDev map[string]string, bootIn
if len(bootIndexes) > 0 {
bootIndex, found := bootIndexes[devName]
if found {
- qemuDev["bootindex"] = strconv.Itoa(bootIndex)
+ qemuDev["bootindex"] = bootIndex
}
}
@@ -4400,9 +4400,9 @@ func (d *qemu) addNetDevConfig(busName string, qemuDev map[string]string, bootIn
// Number of vectors is number of vCPUs * 2 (RX/TX) + 2 (config/control MSI-X).
vectors := 2*queueCount + 2
if vectors > 0 {
- qemuDev["mq"] = "on"
+ qemuDev["mq"] = true
if slices.Contains([]string{"pcie", "pci"}, busName) {
- qemuDev["vectors"] = strconv.Itoa(vectors)
+ qemuDev["vectors"] = vectors
}
}
@@ -4591,9 +4591,9 @@ func (d *qemu) addNetDevConfig(busName string, qemuDev map[string]string, bootIn
}
qemuDev["netdev"] = qemuNetDev["id"].(string)
- qemuDev["page-per-vq"] = "on"
- qemuDev["iommu_platform"] = "on"
- qemuDev["disable-legacy"] = "on"
+ qemuDev["page-per-vq"] = true
+ qemuDev["iommu_platform"] = true
+ qemuDev["disable-legacy"] = true
err = m.AddNIC(qemuNetDev, qemuDev)
if err != nil {
@@ -4819,7 +4819,7 @@ func (d *qemu) addGPUDevConfig(cfg *[]cfgSection, bus *qemuBus, gpuConfig []devi
}
func (d *qemu) addUSBDeviceConfig(usbDev deviceConfig.USBDeviceItem) (monitorHook, error) {
- device := map[string]string{
+ qemuDev := map[string]any{
"id": fmt.Sprintf("%s%s", qemuDeviceIDPrefix, usbDev.DeviceName),
"driver": "usb-host",
"bus": "qemu_usb.0",
@@ -4836,18 +4836,18 @@ func (d *qemu) addUSBDeviceConfig(usbDev deviceConfig.USBDeviceItem) (monitorHoo
defer func() { _ = f.Close() }()
- info, err := m.SendFileWithFDSet(device["id"], f, false)
+ info, err := m.SendFileWithFDSet(qemuDev["id"].(string), f, false)
if err != nil {
return fmt.Errorf("Failed to send file descriptor: %w", err)
}
revert.Add(func() {
- _ = m.RemoveFDFromFDSet(device["id"])
+ _ = m.RemoveFDFromFDSet(qemuDev["id"].(string))
})
- device["hostdevice"] = fmt.Sprintf("/dev/fdset/%d", info.ID)
+ qemuDev["hostdevice"] = fmt.Sprintf("/dev/fdset/%d", info.ID)
- err = m.AddDevice(device)
+ err = m.AddDevice(qemuDev)
if err != nil {
return fmt.Errorf("Failed to add device: %w", err)
}
@@ -9188,19 +9188,19 @@ func (d *qemu) setCPUs(monitor *qmp.Monitor, count int) error {
devID := fmt.Sprintf("cpu%d%d%d", cpu.Props.SocketID, cpu.Props.CoreID, cpu.Props.ThreadID)
- dev := map[string]string{
+ qemuDev := map[string]any{
"id": devID,
"driver": cpu.Type,
- "core-id": fmt.Sprintf("%d", cpu.Props.CoreID),
+ "core-id": cpu.Props.CoreID,
}
// No such thing as sockets and threads on s390x.
if d.architecture != osarch.ARCH_64BIT_S390_BIG_ENDIAN {
- dev["socket-id"] = fmt.Sprintf("%d", cpu.Props.SocketID)
- dev["thread-id"] = fmt.Sprintf("%d", cpu.Props.ThreadID)
+ qemuDev["socket-id"] = cpu.Props.SocketID
+ qemuDev["thread-id"] = cpu.Props.ThreadID
}
- err := monitor.AddDevice(dev)
+ err := monitor.AddDevice(qemuDev)
if err != nil {
return fmt.Errorf("Failed to add device: %w", err)
}
@@ -9229,12 +9229,12 @@ func (d *qemu) setCPUs(monitor *qmp.Monitor, count int) error {
}
revert.Add(func() {
- err := monitor.AddDevice(map[string]string{
+ err := monitor.AddDevice(map[string]any{
"id": devID,
"driver": cpu.Type,
- "socket-id": fmt.Sprintf("%d", cpu.Props.SocketID),
- "core-id": fmt.Sprintf("%d", cpu.Props.CoreID),
- "thread-id": fmt.Sprintf("%d", cpu.Props.ThreadID),
+ "socket-id": cpu.Props.SocketID,
+ "core-id": cpu.Props.CoreID,
+ "thread-id": cpu.Props.ThreadID,
})
d.logger.Warn("Failed to add CPU device", logger.Ctx{"err": err})
})
diff --git a/internal/server/instance/drivers/qmp/commands.go b/internal/server/instance/drivers/qmp/commands.go
index 3e9752780c5..d81da8ff4f4 100644
--- a/internal/server/instance/drivers/qmp/commands.go
+++ b/internal/server/instance/drivers/qmp/commands.go
@@ -538,7 +538,7 @@ func (m *Monitor) SetMemoryBalloonSizeBytes(sizeBytes int64) error {
}
// AddBlockDevice adds a block device.
-func (m *Monitor) AddBlockDevice(blockDev map[string]any, device map[string]string) error {
+func (m *Monitor) AddBlockDevice(blockDev map[string]any, device map[string]any) error {
revert := revert.New()
defer revert.Fail()
@@ -624,7 +624,7 @@ func (m *Monitor) RemoveCharDevice(deviceID string) error {
}
// AddDevice adds a new device.
-func (m *Monitor) AddDevice(device map[string]string) error {
+func (m *Monitor) AddDevice(device map[string]any) error {
if device != nil {
err := m.Run("device_add", device, nil)
if err != nil {
@@ -656,7 +656,7 @@ func (m *Monitor) RemoveDevice(deviceID string) error {
}
// AddNIC adds a NIC device.
-func (m *Monitor) AddNIC(netDev map[string]any, device map[string]string) error {
+func (m *Monitor) AddNIC(netDev map[string]any, device map[string]any) error {
revert := revert.New()
defer revert.Fail()
+5 -5
View File
@@ -2,7 +2,7 @@
hash,
lts ? false,
patches ? [ ],
updateScriptArgs ? "",
nixUpdateExtraArgs ? [ ],
vendorHash,
version,
}:
@@ -12,7 +12,6 @@
lib,
buildGoModule,
fetchFromGitHub,
writeScript,
acl,
cowsql,
libcap,
@@ -21,6 +20,7 @@
sqlite,
udev,
installShellFiles,
nix-update-script,
nixosTests,
}:
@@ -128,9 +128,9 @@ buildGoModule rec {
ui = callPackage ./ui.nix { };
updateScript = writeScript "ovs-update.py" ''
${./update.py} ${updateScriptArgs}
'';
updateScript = nix-update-script {
extraArgs = nixUpdateExtraArgs;
};
};
meta = {
+4 -1
View File
@@ -8,5 +8,8 @@ import ./generic.nix {
./0c37b7e3ec65b4d0e166e2127d9f1835320165b8.patch
];
lts = true;
updateScriptArgs = "--lts --regex '6.0.*'";
nixUpdateExtraArgs = [
"--version-regex=^v(6\\.0\\.[0-9]+)$"
"--override-filename=pkgs/by-name/in/incus/lts.nix"
];
}
+6 -6
View File
@@ -1,9 +1,9 @@
import ./generic.nix {
hash = "sha256-Ir+cT+2xA+L4kBXhwA0XXE/D8zjMPGYiwW0VrEdobZ4=";
version = "6.8.0";
vendorHash = "sha256-CDLq41AB2Y9nYlTuXZaAOgwXIin9CbqSXCFoigsc14A=";
patches = [
# qemu 9.2 support
./1531.diff
hash = "sha256-bi++GJLLYlX8JZwmxx4S2EGALuwVOGW4G7u2Nv6s26k=";
version = "6.9.0";
vendorHash = "sha256-aYQOKO5RMPqChV6hXPBfSLKdfCuS+BFVmpakJX7swKg=";
patches = [ ];
nixUpdateExtraArgs = [
"--override-filename=pkgs/by-name/in/incus/package.nix"
];
}
-86
View File
@@ -1,86 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -i python -p python3 python3Packages.looseversion common-updater-scripts nurl
import argparse
import json
import os
import re
from looseversion import LooseVersion
from subprocess import run
parser = argparse.ArgumentParser()
parser.add_argument("--lts", action="store_true")
parser.add_argument("--regex")
args = parser.parse_args()
nixpkgs_path = os.environ["PWD"]
attr = "incus"
file = "pkgs/by-name/in/incus/package.nix"
if args.lts:
attr = "incus-lts"
file = "pkgs/by-name/in/incus/lts.nix"
tags = (
run(["list-git-tags", "--url=https://github.com/lxc/incus"], capture_output=True)
.stdout.decode("utf-8")
.splitlines()
)
tags = [t.lstrip("v") for t in tags]
latest_version = "0"
for tag in tags:
if args.regex is not None and not re.match(args.regex, tag):
continue
if LooseVersion(tag) > LooseVersion(latest_version):
latest_version = tag
current_version = (
run(
["nix", "eval", "--raw", "-f", "default.nix", f"{attr}.version"],
capture_output=True,
)
.stdout.decode("utf-8")
.strip()
)
if LooseVersion(latest_version) <= LooseVersion(current_version):
print("No update available")
exit(0)
print(f"Found new version {latest_version} > {current_version}")
run(["update-source-version", attr, latest_version, f"--file={file}"])
file_content: str
with open(file, "r+") as f:
file_content = f.read()
file_content = re.sub(
'vendorHash = "sha256-.*"',
'vendorHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="',
file_content,
)
f.seek(0)
f.write(file_content)
print("Generating new vendorHash")
latest_vendor_hash = (
run(
["nurl", "--expr", f"(import {nixpkgs_path} {{}}).{attr}.goModules"],
capture_output=True,
)
.stdout.decode("utf-8")
.strip()
)
file_content = file_content.replace(
"sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", latest_vendor_hash
)
with open(file, "w") as f:
f.write(file_content)
print("Done")
+3 -3
View File
@@ -13,14 +13,14 @@
python3Packages.buildPythonPackage rec {
pname = "iplookup-gtk";
version = "0.3.4";
version = "0.4.0";
pyproject = false; # Built with meson
src = fetchFromGitHub {
owner = "Bytezz";
repo = "IPLookup-gtk";
rev = "v${version}";
hash = "sha256-NqFE6vRdLpnlCzGAUE4iOfLmTnUgX3CHtoXfsbT3zm4=";
tag = "v${version}";
hash = "sha256-pO05WDNb9AMKXm8OqzOnk77T5sLBdURV90FgQKL9oAw=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "iroh";
version = "0.30.0";
version = "0.31.0";
src = fetchFromGitHub {
owner = "n0-computer";
repo = pname;
rev = "v${version}";
hash = "sha256-9aRb1kMIo/DZOt1pYzXa8dfb3BlhVJ0kvS036jqGcHw=";
hash = "sha256-f6lDPjRUa64MnkFYcLCveaIYBTLFXjwQ1AFYbGQgFwQ=";
};
cargoHash = "sha256-QHysE7TBd619iVUEWmk7OhT4Y6SHmTXUnBkokmbaKRE=";
cargoHash = "sha256-fOGvnofeA+BdSxN1zZgrT1s1/pJjqH4btIO63vsYn00=";
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin (
with darwin.apple_sdk.frameworks; [

Some files were not shown because too many files have changed in this diff Show More