Merge master into staging-next
This commit is contained in:
@@ -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.
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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.";
|
||||
};
|
||||
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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}"; }
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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")
|
||||
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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" ];
|
||||
}
|
||||
|
||||
+2
-2
@@ -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 ''
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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="
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -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; {
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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 = ".";
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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 =
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
+6
-5
@@ -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;
|
||||
};
|
||||
+7
-16
@@ -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;
|
||||
};
|
||||
@@ -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;
|
||||
};
|
||||
@@ -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 {
|
||||
|
||||
@@ -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=";
|
||||
|
||||
|
||||
@@ -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=";
|
||||
|
||||
|
||||
+11
-17
@@ -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;
|
||||
};
|
||||
@@ -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
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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,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.*
|
||||
'';
|
||||
|
||||
@@ -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="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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"
|
||||
];
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
];
|
||||
}
|
||||
|
||||
@@ -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")
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user