mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-11-05 20:30:18 +00:00
Compare commits
54 Commits
master
...
wip-home-a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
64b0db6e10 | ||
|
|
6f3c9b219e | ||
|
|
c0d1285f41 | ||
|
|
85d82c7a0b | ||
|
|
b0a03543a8 | ||
|
|
6a0bf99af5 | ||
|
|
9a5db4ef77 | ||
|
|
f19359bb9b | ||
|
|
864ccdc6d9 | ||
|
|
283f7cece0 | ||
|
|
7f6ab4f8b6 | ||
|
|
e0abd133ad | ||
|
|
e8157e600c | ||
|
|
ac729f3bad | ||
|
|
526d05ebd6 | ||
|
|
76f2f572fe | ||
|
|
e5fcd544bf | ||
|
|
fc388689aa | ||
|
|
747a955030 | ||
|
|
8d1df0105c | ||
|
|
baccdab2c2 | ||
|
|
e4d1530f1c | ||
|
|
03ea925282 | ||
|
|
a04dd970dc | ||
|
|
15c56829d3 | ||
|
|
0f01130789 | ||
|
|
72152964c4 | ||
|
|
5eea90ff0b | ||
|
|
9fdd8f7e0e | ||
|
|
a6c56e5362 | ||
|
|
1634d8d9d2 | ||
|
|
f49a1ca855 | ||
|
|
bc1e022af2 | ||
|
|
911197569e | ||
|
|
cdf76905ce | ||
|
|
a5a8f40628 | ||
|
|
8df6f8dd87 | ||
|
|
873bf1e8d6 | ||
|
|
bb62ba29b9 | ||
|
|
e79c2ec8df | ||
|
|
5ca2a69844 | ||
|
|
6457f3a943 | ||
|
|
77ff7866a8 | ||
|
|
00b3cb7239 | ||
|
|
a4205f5922 | ||
|
|
1380c33506 | ||
|
|
25f411ca5a | ||
|
|
f239ff4bff | ||
|
|
6a38ccab79 | ||
|
|
5adf66627a | ||
|
|
a3f1a4bec9 | ||
|
|
75303e4989 | ||
|
|
f560255820 | ||
|
|
c3153ea069 |
@@ -359,9 +359,6 @@ In case you are patching `package.json` or `pnpm-lock.yaml`, make sure to pass `
|
||||
|
||||
If needed, set `dontPnpmConfigure = true;` to fully disable `pnpmConfigHook` without removing it from inputs manually.
|
||||
|
||||
`pnpmConfigHook` deletes `.modules.yaml` and `.pnpm-workspace-state-v1.json` from every output, since they hold a build timestamp and path.
|
||||
Set `dontPnpmStripInstallState = true;` to keep them.
|
||||
|
||||
#### pnpmBuildHook {#javascript-pnpm-pnpmBuildHook}
|
||||
|
||||
The `pnpmBuildHook` in overrides the default build phase with `pnpm run <build-script>`.
|
||||
|
||||
427
lib/modules.nix
427
lib/modules.nix
@@ -55,6 +55,7 @@ let
|
||||
zipAttrsWith
|
||||
;
|
||||
inherit (lib.options)
|
||||
isOption
|
||||
mkOption
|
||||
showDefs
|
||||
showFiles
|
||||
@@ -275,10 +276,11 @@ let
|
||||
|
||||
config =
|
||||
let
|
||||
|
||||
# For definitions that have an associated option
|
||||
declaredConfig =
|
||||
let
|
||||
recurse = mapAttrs (n: v: if v._type or null == "option" then v.value else recurse v);
|
||||
recurse = mapAttrs (n: v: if isOption v then v.value else recurse v);
|
||||
in
|
||||
recurse options;
|
||||
|
||||
@@ -401,7 +403,7 @@ let
|
||||
options = checked options;
|
||||
config = checked (removeAttrs config [ "_module" ]);
|
||||
_module = checked (config._module);
|
||||
graph = (doCollect { }).graph;
|
||||
inherit (doCollect { }) graph;
|
||||
inherit extendModules type class;
|
||||
};
|
||||
in
|
||||
@@ -412,20 +414,19 @@ let
|
||||
# Collects all modules recursively through `import` statements, filtering out
|
||||
# all modules in disabledModules.
|
||||
collectModules =
|
||||
class: modulesPath: initialModules: args:
|
||||
class:
|
||||
let
|
||||
applyModuleArgs' = applyModuleArgs args;
|
||||
|
||||
# Like unifyModuleSyntax, but also imports paths and calls functions if necessary
|
||||
loadModule =
|
||||
fallbackFile: fallbackKey: m:
|
||||
args: fallbackFile: fallbackKey: m:
|
||||
if isFunction m then
|
||||
unifyModuleSyntax fallbackFile fallbackKey (applyModuleArgs' fallbackKey m)
|
||||
unifyModuleSyntax fallbackFile fallbackKey (applyModuleArgs fallbackKey m args)
|
||||
else if isAttrs m then
|
||||
if m._type or "module" == "module" then
|
||||
unifyModuleSyntax fallbackFile fallbackKey m
|
||||
else if m._type == "if" || m._type == "override" then
|
||||
loadModule fallbackFile fallbackKey { config = m; }
|
||||
loadModule args fallbackFile fallbackKey { config = m; }
|
||||
else
|
||||
throw (
|
||||
messages.not_a_module {
|
||||
@@ -447,11 +448,8 @@ let
|
||||
in
|
||||
throw "Module imports can't be nested lists. Perhaps you meant to remove one level of lists? Definitions: ${showDefs defs}"
|
||||
else
|
||||
let
|
||||
contents = import m;
|
||||
in
|
||||
unifyModuleSyntax (toString m) (toString m) (
|
||||
if isFunction contents then applyModuleArgs' (toString m) contents else contents
|
||||
applyModuleArgsIfFunction (toString m) (import m) args
|
||||
);
|
||||
|
||||
checkModule =
|
||||
@@ -532,33 +530,31 @@ let
|
||||
inherit modules;
|
||||
};
|
||||
in
|
||||
parentFile: parentKey: initialModules:
|
||||
parentFile: parentKey: initialModules: args:
|
||||
collectResults (
|
||||
imap1 (
|
||||
n: x:
|
||||
let
|
||||
module = checkModule (loadModule parentFile "${parentKey}:anon-${toString n}" x);
|
||||
collectedImports =
|
||||
if module.imports != [ ] then
|
||||
collectStructuredModules module._file module.key module.imports
|
||||
else
|
||||
{ };
|
||||
module = checkModule (loadModule args parentFile "${parentKey}:anon-${toString n}" x);
|
||||
collectedImports = collectStructuredModules module._file module.key module.imports args;
|
||||
in
|
||||
{
|
||||
key = module.key;
|
||||
module = module;
|
||||
modules = collectedImports.modules or [ ];
|
||||
modules = collectedImports.modules;
|
||||
disabled =
|
||||
if module.disabledModules != [ ] then
|
||||
[
|
||||
{
|
||||
file = module._file;
|
||||
disabled = module.disabledModules;
|
||||
}
|
||||
]
|
||||
++ (collectedImports.disabled or [ ])
|
||||
else
|
||||
(collectedImports.disabled or [ ]);
|
||||
(
|
||||
if module.disabledModules != [ ] then
|
||||
[
|
||||
{
|
||||
file = module._file;
|
||||
disabled = module.disabledModules;
|
||||
}
|
||||
]
|
||||
else
|
||||
[ ]
|
||||
)
|
||||
++ collectedImports.disabled;
|
||||
}
|
||||
) initialModules
|
||||
);
|
||||
@@ -597,19 +593,19 @@ let
|
||||
|
||||
toModuleGraph = structuredModule: {
|
||||
disabled = isDisabledModule structuredModule;
|
||||
key = structuredModule.key;
|
||||
inherit (structuredModule) key;
|
||||
file = structuredModule.module._file;
|
||||
imports = map toModuleGraph structuredModule.modules;
|
||||
};
|
||||
in
|
||||
map toModuleGraph (filter (x: x.key != "lib/modules.nix") modules);
|
||||
in
|
||||
{
|
||||
modules = filterModules modulesPath (collectStructuredModules unknownModule "" initialModules);
|
||||
modulesPath: initialModules: args: {
|
||||
modules = filterModules modulesPath (collectStructuredModules unknownModule "" initialModules args);
|
||||
# Intentionally not shared with `modules` above: this allows
|
||||
# the return value of `collectStructuredModules`
|
||||
# to be garbage collected after `filterModules` returns.
|
||||
graph = toGraph modulesPath (collectStructuredModules unknownModule "" initialModules);
|
||||
graph = toGraph modulesPath (collectStructuredModules unknownModule "" initialModules args);
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -723,32 +719,26 @@ let
|
||||
config = addFreeformType (removeAttrs m shorthandAttrsToRemove);
|
||||
};
|
||||
|
||||
# TODO: remove, now unused
|
||||
applyModuleArgsIfFunction =
|
||||
key: f: args@{ config, ... }: if isFunction f then applyModuleArgs args key f else f;
|
||||
key: f: args@{ config, ... }: if isFunction f then applyModuleArgs key f args else f;
|
||||
|
||||
# Module arguments are resolved in a strict manner when attribute set
|
||||
# deconstruction is used. As the arguments are now defined with the
|
||||
# config._module.args option, the strictness used on the attribute
|
||||
# set argument would cause an infinite loop, if the result of the
|
||||
# option is given as argument.
|
||||
#
|
||||
# To work-around the strictness issue on the deconstruction of the
|
||||
# attributes set argument, we create a new attribute set which is
|
||||
# constructed to satisfy the expected set of attributes. Thus calling
|
||||
# a module will resolve strictly the attributes used as argument but
|
||||
# not their values. The values are forwarding the result of the
|
||||
# evaluation of the option.
|
||||
applyModuleArgs =
|
||||
args@{ config, ... }:
|
||||
key: f:
|
||||
f (
|
||||
# Note: we append in the opposite order such that we can add an error
|
||||
# context on the explicit arguments of "args" too. This update
|
||||
# operator is used to make the "args@{ ... }: with args.lib;" notation
|
||||
# works.
|
||||
args
|
||||
// mapAttrs (
|
||||
args@{ config, ... }:
|
||||
let
|
||||
# Module arguments are resolved in a strict manner when attribute set
|
||||
# deconstruction is used. As the arguments are now defined with the
|
||||
# config._module.args option, the strictness used on the attribute
|
||||
# set argument would cause an infinite loop, if the result of the
|
||||
# option is given as argument.
|
||||
#
|
||||
# To work-around the strictness issue on the deconstruction of the
|
||||
# attributes set argument, we create a new attribute set which is
|
||||
# constructed to satisfy the expected set of attributes. Thus calling
|
||||
# a module will resolve strictly the attributes used as argument but
|
||||
# not their values. The values are forwarding the result of the
|
||||
# evaluation of the option.
|
||||
extraArgs = mapAttrs (
|
||||
name: _:
|
||||
addErrorContext ''while evaluating the module argument `${name}' in "${key}":'' (
|
||||
args.${name} or (addErrorContext
|
||||
@@ -756,8 +746,14 @@ let
|
||||
config._module.args.${name}
|
||||
)
|
||||
)
|
||||
) (functionArgs f)
|
||||
);
|
||||
) (functionArgs f);
|
||||
|
||||
# Note: we append in the opposite order such that we can add an error
|
||||
# context on the explicit arguments of "args" too. This update
|
||||
# operator is used to make the "args@{ ... }: with args.lib;" notation
|
||||
# works.
|
||||
in
|
||||
f (args // extraArgs);
|
||||
|
||||
/**
|
||||
Merge a list of modules. This will recurse over the option
|
||||
@@ -798,16 +794,7 @@ let
|
||||
m:
|
||||
map (config: {
|
||||
file = m._file;
|
||||
config =
|
||||
if isAttrs config then
|
||||
config
|
||||
else
|
||||
throw (
|
||||
messages.non_attrs_config {
|
||||
inherit config prefix;
|
||||
file = m._file;
|
||||
}
|
||||
);
|
||||
inherit config;
|
||||
}) (pushDownProperties m.config)
|
||||
) modules
|
||||
);
|
||||
@@ -830,13 +817,33 @@ let
|
||||
''
|
||||
else
|
||||
mapAttrs (n: option: {
|
||||
_file = module._file;
|
||||
inherit (module) _file;
|
||||
pos = unsafeGetAttrPos n subtree;
|
||||
options = option;
|
||||
}) subtree
|
||||
) modules
|
||||
);
|
||||
|
||||
# The root of any module definition must be an attrset.
|
||||
checkedConfigs =
|
||||
assert all (
|
||||
c:
|
||||
# TODO: I have my doubts that this error would occur when option definitions are not matched.
|
||||
# The implementation of this check used to be tied to a superficially similar check for
|
||||
# options, so maybe that's why this is here.
|
||||
isAttrs c.config
|
||||
|| throw ''
|
||||
In module `${c.file}', you're trying to define a value of type `${typeOf c.config}'
|
||||
rather than an attribute set for the option
|
||||
`${concatStringsSep "." prefix}'!
|
||||
|
||||
This usually happens if `${concatStringsSep "." prefix}' has option
|
||||
definitions inside that are not matched. Please check how to properly define
|
||||
this option by e.g. referring to `man 5 configuration.nix'!
|
||||
''
|
||||
) configs;
|
||||
configs;
|
||||
|
||||
# an attrset 'name' => list of submodules that define ‘name’.
|
||||
pushedDownDefinitionsByName = zipAttrsWith (n: concatLists) (
|
||||
map (
|
||||
@@ -844,37 +851,27 @@ let
|
||||
mapAttrs (
|
||||
n: value:
|
||||
map (config: {
|
||||
file = module.file;
|
||||
config =
|
||||
if isAttrs config then
|
||||
config
|
||||
else
|
||||
throw (
|
||||
messages.non_attrs_config {
|
||||
inherit config;
|
||||
prefix = prefix ++ [ n ];
|
||||
file = module.file;
|
||||
}
|
||||
);
|
||||
inherit (module) file;
|
||||
inherit config;
|
||||
}) (pushDownProperties value)
|
||||
) module.config
|
||||
) configs
|
||||
) checkedConfigs
|
||||
);
|
||||
# extract the definitions for each loc
|
||||
rawDefinitionsByName = zipAttrs (
|
||||
map (
|
||||
module:
|
||||
mapAttrs (n: value: {
|
||||
file = module.file;
|
||||
inherit (module) file;
|
||||
inherit value;
|
||||
}) module.config
|
||||
) configs
|
||||
) checkedConfigs
|
||||
);
|
||||
|
||||
# Convert an option tree decl to a submodule option decl
|
||||
optionTreeToOption =
|
||||
decl:
|
||||
if decl.options._type or null == "option" then
|
||||
if isOption decl.options then
|
||||
decl
|
||||
else
|
||||
decl
|
||||
@@ -902,8 +899,12 @@ let
|
||||
&& (m.options._type == "option" || throwDeclarationTypeError loc m.options._type m._file);
|
||||
in
|
||||
if all isOptionDecl decls then
|
||||
let
|
||||
opt = fixupOptionType loc (mergeOptionDecls loc decls);
|
||||
in
|
||||
{
|
||||
matchedOptions = evalOptionValue loc (fixupOptionType loc (mergeOptionDecls loc decls)) defns';
|
||||
matchedOptions = evalOptionValue loc opt defns';
|
||||
unmatchedDefns = [ ];
|
||||
}
|
||||
# this may look like duplicate computations are performed, but testing
|
||||
# with a minimal NixOS config (defined below):
|
||||
@@ -946,14 +947,16 @@ let
|
||||
# d. magically combine (a) and (c).
|
||||
# All of the above are merely syntax sugar though.
|
||||
then
|
||||
let
|
||||
opt = fixupOptionType loc (mergeOptionDecls loc (map optionTreeToOption decls));
|
||||
in
|
||||
{
|
||||
matchedOptions = evalOptionValue loc (fixupOptionType loc (
|
||||
mergeOptionDecls loc (map optionTreeToOption decls)
|
||||
)) defns';
|
||||
matchedOptions = evalOptionValue loc opt defns';
|
||||
unmatchedDefns = [ ];
|
||||
}
|
||||
else
|
||||
let
|
||||
nonOptions = filter (m: m.options._type or null != "option") decls;
|
||||
nonOptions = filter (m: !isOption m.options) decls;
|
||||
in
|
||||
throw "The option `${showOption loc}' in module `${(head optionDecls)._file}' would be a parent of the following options, but its type `${
|
||||
(head optionDecls).options.type.description or "<no description>"
|
||||
@@ -967,7 +970,7 @@ let
|
||||
# an attrset 'name' => list of unmatched definitions for 'name'
|
||||
unmatchedDefnsByName =
|
||||
# Propagate all unmatched definitions from nested option sets
|
||||
mapAttrs (n: v: v.unmatchedDefns or [ ]) resultsByName
|
||||
mapAttrs (n: v: v.unmatchedDefns) resultsByName
|
||||
# Plus the definitions for the current prefix that don't have a matching option
|
||||
// removeAttrs rawDefinitionsByName (attrNames matchedOptions);
|
||||
in
|
||||
@@ -984,17 +987,14 @@ let
|
||||
concatLists (
|
||||
mapAttrsToList (
|
||||
name: defs:
|
||||
if defs == [ ] then
|
||||
defs
|
||||
else
|
||||
map (
|
||||
def:
|
||||
def
|
||||
// {
|
||||
# Set this so we know when the definition first left unmatched territory
|
||||
prefix = [ name ] ++ (def.prefix or [ ]);
|
||||
}
|
||||
) defs
|
||||
map (
|
||||
def:
|
||||
def
|
||||
// {
|
||||
# Set this so we know when the definition first left unmatched territory
|
||||
prefix = [ name ] ++ (def.prefix or [ ]);
|
||||
}
|
||||
) defs
|
||||
) unmatchedDefnsByName
|
||||
);
|
||||
};
|
||||
@@ -1051,101 +1051,75 @@ let
|
||||
: 2\. Function argument
|
||||
*/
|
||||
mergeOptionDecls =
|
||||
loc: decls:
|
||||
if length decls == 1 then
|
||||
let
|
||||
opt = head decls;
|
||||
optOptions = opt.options;
|
||||
getSubModules = optOptions.type.getSubModules or null;
|
||||
in
|
||||
optOptions
|
||||
// {
|
||||
inherit loc;
|
||||
declarations = [ opt._file ];
|
||||
declarationPositions =
|
||||
if opt.pos != null then
|
||||
[ opt.pos ]
|
||||
else
|
||||
[
|
||||
{
|
||||
file = opt._file;
|
||||
line = null;
|
||||
column = null;
|
||||
}
|
||||
];
|
||||
options =
|
||||
if getSubModules != null then map (setDefaultModuleLocation opt._file) getSubModules else [ ];
|
||||
}
|
||||
else
|
||||
foldl'
|
||||
(
|
||||
res: opt:
|
||||
let
|
||||
optOptions = opt.options;
|
||||
typeSet =
|
||||
if res ? type && optOptions ? type then
|
||||
let
|
||||
mergedType = res.type.typeMerge optOptions.type.functor;
|
||||
in
|
||||
if mergedType != null then
|
||||
{
|
||||
type = mergedType;
|
||||
}
|
||||
loc:
|
||||
foldl'
|
||||
(
|
||||
res: opt:
|
||||
let
|
||||
optOptions = opt.options;
|
||||
typeSet =
|
||||
if res ? type && optOptions ? type then
|
||||
let
|
||||
mergedType = res.type.typeMerge optOptions.type.functor;
|
||||
in
|
||||
if mergedType != null then
|
||||
{
|
||||
type = mergedType;
|
||||
}
|
||||
else
|
||||
# Keep in sync with the same error below!
|
||||
throw
|
||||
"The option `${showOption loc}' in `${opt._file}' is already declared in ${showFiles res.declarations}."
|
||||
else
|
||||
{ };
|
||||
getSubModules = optOptions.type.getSubModules or null;
|
||||
submodules =
|
||||
if getSubModules != null then
|
||||
map (setDefaultModuleLocation opt._file) getSubModules ++ res.options
|
||||
else
|
||||
res.options;
|
||||
in
|
||||
if
|
||||
(res ? default && optOptions ? default)
|
||||
|| (res ? example && optOptions ? example)
|
||||
|| (res ? description && optOptions ? description)
|
||||
|| (res ? apply && optOptions ? apply)
|
||||
then
|
||||
# Keep in sync with the same error above!
|
||||
throw
|
||||
"The option `${showOption loc}' in `${opt._file}' is already declared in ${showFiles res.declarations}."
|
||||
else
|
||||
optOptions
|
||||
// res
|
||||
// {
|
||||
declarations = res.declarations ++ [ opt._file ];
|
||||
# In the case of modules that are generated dynamically, we won't
|
||||
# have exact declaration lines; fall back to just the file being
|
||||
# evaluated.
|
||||
declarationPositions =
|
||||
res.declarationPositions
|
||||
++ (
|
||||
if opt.pos != null then
|
||||
[ opt.pos ]
|
||||
else
|
||||
# Keep in sync with the same error below!
|
||||
throw
|
||||
"The option `${showOption loc}' in `${opt._file}' is already declared in ${showFiles res.declarations}."
|
||||
else
|
||||
{ };
|
||||
getSubModules = optOptions.type.getSubModules or null;
|
||||
submodules =
|
||||
if getSubModules != null then
|
||||
map (setDefaultModuleLocation opt._file) getSubModules ++ res.options
|
||||
else
|
||||
res.options;
|
||||
in
|
||||
if
|
||||
(res ? default && optOptions ? default)
|
||||
|| (res ? example && optOptions ? example)
|
||||
|| (res ? description && optOptions ? description)
|
||||
|| (res ? apply && optOptions ? apply)
|
||||
then
|
||||
# Keep in sync with the same error above!
|
||||
throw
|
||||
"The option `${showOption loc}' in `${opt._file}' is already declared in ${showFiles res.declarations}."
|
||||
else
|
||||
optOptions
|
||||
// res
|
||||
// {
|
||||
declarations = res.declarations ++ [ opt._file ];
|
||||
# In the case of modules that are generated dynamically, we won't
|
||||
# have exact declaration lines; fall back to just the file being
|
||||
# evaluated.
|
||||
declarationPositions =
|
||||
res.declarationPositions
|
||||
++ (
|
||||
if opt.pos != null then
|
||||
[ opt.pos ]
|
||||
else
|
||||
[
|
||||
{
|
||||
file = opt._file;
|
||||
line = null;
|
||||
column = null;
|
||||
}
|
||||
]
|
||||
);
|
||||
options = submodules;
|
||||
}
|
||||
// typeSet
|
||||
)
|
||||
{
|
||||
inherit loc;
|
||||
declarations = [ ];
|
||||
declarationPositions = [ ];
|
||||
options = [ ];
|
||||
}
|
||||
decls;
|
||||
[
|
||||
{
|
||||
file = opt._file;
|
||||
line = null;
|
||||
column = null;
|
||||
}
|
||||
]
|
||||
);
|
||||
options = submodules;
|
||||
}
|
||||
// typeSet
|
||||
)
|
||||
{
|
||||
inherit loc;
|
||||
declarations = [ ];
|
||||
declarationPositions = [ ];
|
||||
options = [ ];
|
||||
};
|
||||
|
||||
/**
|
||||
Merge all the definitions of an option to produce the final
|
||||
@@ -1211,12 +1185,12 @@ let
|
||||
# yield a value computed from the definitions
|
||||
if opt ? apply then opt.apply res.mergedValue else res.mergedValue
|
||||
);
|
||||
highestPrio = res.defsFinal'.highestPrio;
|
||||
inherit (res.defsFinal') highestPrio;
|
||||
definitions = catAttrs "value" res.defsFinal;
|
||||
files = catAttrs "file" res.defsFinal;
|
||||
definitionsWithLocations = res.defsFinal;
|
||||
isDefined = res.isDefined;
|
||||
valueMeta = res.checkedAndMerged.valueMeta;
|
||||
inherit (res) isDefined;
|
||||
inherit (res.checkedAndMerged) valueMeta;
|
||||
# This allows options to be correctly displayed using `${options.path.to.it}`
|
||||
__toString = _: showOption loc;
|
||||
};
|
||||
@@ -1277,7 +1251,7 @@ let
|
||||
value
|
||||
else
|
||||
{
|
||||
file = m.file;
|
||||
inherit (m) file;
|
||||
inherit value;
|
||||
}
|
||||
) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
|
||||
@@ -1296,7 +1270,7 @@ let
|
||||
in
|
||||
{
|
||||
values = defsSorted;
|
||||
highestPrio = defsFiltered.highestPrio;
|
||||
inherit (defsFiltered) highestPrio;
|
||||
};
|
||||
defsFinal = defsFinal'.values;
|
||||
|
||||
@@ -1394,35 +1368,24 @@ let
|
||||
*/
|
||||
pushDownProperties =
|
||||
let
|
||||
pushDownContent =
|
||||
f: content:
|
||||
if content ? _type then
|
||||
map (
|
||||
val:
|
||||
if isAttrs val then
|
||||
mapAttrs f val
|
||||
else
|
||||
# This does not actually work, since arriving here means we have e.g.
|
||||
# (lib.mkIf cond nonAttrs), while an attrset is expected. However,
|
||||
# avoiding the mapAttrs call here gives better errors later.
|
||||
val
|
||||
) (pushDownProperties content)
|
||||
else if isAttrs content then
|
||||
# Equivalent to the above `map`, but prevents extra primops and
|
||||
# function calls on the hot path.
|
||||
[ (mapAttrs f content) ]
|
||||
mapAttrsIfAttrs =
|
||||
f: val:
|
||||
if isAttrs val then
|
||||
mapAttrs f val
|
||||
else
|
||||
# See above comment on `lib.mkIf cond nonAttrs`
|
||||
[ content ];
|
||||
# This does not actually work, since arriving here means we have e.g.
|
||||
# (lib.mkIf cond nonAttrs), while an attrset is expected. However,
|
||||
# avoiding the mapAttrs call here gives better errors later.
|
||||
val;
|
||||
in
|
||||
cfg:
|
||||
if cfg ? _type then
|
||||
if cfg._type == "if" then
|
||||
pushDownContent (_: mkIf cfg.condition) cfg.content
|
||||
map (mapAttrsIfAttrs (n: v: mkIf cfg.condition v)) (pushDownProperties cfg.content)
|
||||
else if cfg._type == "merge" then
|
||||
concatMap pushDownProperties cfg.contents
|
||||
else if cfg._type == "override" then
|
||||
pushDownContent (_: mkOverride cfg.priority) cfg.content
|
||||
map (mapAttrsIfAttrs (n: v: mkOverride cfg.priority v)) (pushDownProperties cfg.content)
|
||||
# FIXME: handle mkOrder?
|
||||
else
|
||||
[ cfg ]
|
||||
@@ -1532,7 +1495,7 @@ let
|
||||
def
|
||||
// {
|
||||
value = def.value.content;
|
||||
priority = def.value.priority;
|
||||
inherit (def.value) priority;
|
||||
}
|
||||
else
|
||||
def;
|
||||
@@ -1597,7 +1560,7 @@ let
|
||||
in
|
||||
{
|
||||
value = merging.mergedValue;
|
||||
highestPrio = merging.defsFinal'.highestPrio;
|
||||
inherit (merging.defsFinal') highestPrio;
|
||||
}
|
||||
) defsByAttr;
|
||||
|
||||
@@ -2430,24 +2393,6 @@ let
|
||||
|
||||
in
|
||||
{
|
||||
# TODO: I have my doubts that this error would occur when option definitions are not matched.
|
||||
# The implementation of this check used to be tied to a superficially similar check for
|
||||
# options, so maybe that's why this is here.
|
||||
non_attrs_config =
|
||||
{
|
||||
file,
|
||||
config,
|
||||
prefix,
|
||||
}:
|
||||
''
|
||||
In module `${file}', you're trying to define a value of type `${typeOf config}'
|
||||
rather than an attribute set for the option
|
||||
`${concatStringsSep "." prefix}'!
|
||||
|
||||
This usually happens if `${concatStringsSep "." prefix}' has option
|
||||
definitions inside that are not matched. Please check how to properly define
|
||||
this option by e.g. referring to `man 5 configuration.nix'!
|
||||
'';
|
||||
|
||||
/**
|
||||
When load a value with a (wrong) _type as a module
|
||||
|
||||
@@ -447,12 +447,6 @@
|
||||
githubId = 241628;
|
||||
name = "Adam Russell";
|
||||
};
|
||||
a4blue = {
|
||||
email = "a4blue@hotmail.de";
|
||||
github = "a4blue";
|
||||
githubId = 1339417;
|
||||
name = "Alexander Ratajczak";
|
||||
};
|
||||
aacebedo = {
|
||||
email = "alexandre@acebedo.fr";
|
||||
github = "aacebedo";
|
||||
|
||||
@@ -165,7 +165,6 @@ def main(pkgset: str, version: str, nixpkgs: pathlib.Path, sources_url: str | No
|
||||
f"kdePackages.{project_name}",
|
||||
"--version",
|
||||
"skip",
|
||||
"--no-src",
|
||||
"--override-filename",
|
||||
pkg_file
|
||||
])
|
||||
|
||||
@@ -2996,26 +2996,5 @@
|
||||
],
|
||||
"module-garm-setup": [
|
||||
"index.html#module-garm-setup"
|
||||
],
|
||||
"module-services-falco": [
|
||||
"index.html#module-services-falco"
|
||||
],
|
||||
"module-services-falco-basic-usage": [
|
||||
"index.html#module-services-falco-basic-usage"
|
||||
],
|
||||
"module-services-falco-configuration": [
|
||||
"index.html#module-services-falco-configuration"
|
||||
],
|
||||
"module-services-falco-rules": [
|
||||
"index.html#module-services-falco-rules"
|
||||
],
|
||||
"module-services-falco-outputs": [
|
||||
"index.html#module-services-falco-outputs"
|
||||
],
|
||||
"module-services-falco-webserver": [
|
||||
"index.html#module-services-falco-webserver"
|
||||
],
|
||||
"module-services-falco-best-practices": [
|
||||
"index.html#module-services-falco-best-practices"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -111,8 +111,6 @@
|
||||
|
||||
- [Pumpkin](https://pumpkinmc.org/), a Minecraft server implementation written entirely in Rust, focused on performance and configurability. Available as [services.pumpkin](#opt-services.pumpkin.enable).
|
||||
|
||||
- [Falco](https://falco.org), a cloud native runtime security tool that detects unexpected behavior from kernel events through a modern eBPF probe. Available as [services.falco](#opt-services.falco.enable).
|
||||
|
||||
- [feishin](https://github.com/jeffvli/feishin), a modern self-hosted music player. Available as [services.feishin](#opt-services.feishin.enable).
|
||||
|
||||
- [Aurral](https://aurral.org), a Lidarr companion for self-hosted music discovery. Available as [services.aurral](#opt-services.aurral.enable).
|
||||
|
||||
@@ -1580,7 +1580,6 @@
|
||||
./services/security/endlessh.nix
|
||||
./services/security/esdm.nix
|
||||
./services/security/fail2ban.nix
|
||||
./services/security/falco.nix
|
||||
./services/security/fprintd.nix
|
||||
./services/security/haveged.nix
|
||||
./services/security/hockeypuck.nix
|
||||
|
||||
@@ -17,7 +17,7 @@ let
|
||||
in
|
||||
{
|
||||
options.services.scx-loader = {
|
||||
enable = lib.mkEnableOption "SCX-Loader service, a daemon to run sched_ext schedulers, with a D-Bus interface to manage them with `scxctl`";
|
||||
enable = lib.mkEnableOption "SCX Loader service, a daemon to run schedulers from userspace using dbus. This requires kernel version 6.12 and later.";
|
||||
|
||||
package = lib.mkPackageOption pkgs "scx-loader" { };
|
||||
|
||||
@@ -27,7 +27,7 @@ in
|
||||
defaultText = lib.literalExpression "[ pkgs.scx.rustscheds ]";
|
||||
example = lib.literalExpression "[ pkgs.scx.full ]";
|
||||
description = ''
|
||||
`scx` package to use. Defaults to `scx.rustscheds`, which includes all currently supported schedulers.
|
||||
`scx` package to use. Defaults to `scx.rustscheds`, which includes all currently by `scx_loader` supported schedulers.
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -42,7 +42,7 @@ in
|
||||
example = "scx_bpfland";
|
||||
description = ''
|
||||
Default scheduler that will be started automatically when `scx_loader` starts.
|
||||
If not set or set to an empty string, `scx_loader` will not automatically start any scheduler.
|
||||
If not set or set to an empty string, `scx_loader` will not start any scheduler by default.
|
||||
'';
|
||||
};
|
||||
};
|
||||
@@ -87,5 +87,5 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ ccicnce113424 ] ++ pkgs.scx.full.meta.maintainers;
|
||||
meta.maintainers = with lib.maintainers; [ ccicnce113424 ];
|
||||
}
|
||||
|
||||
@@ -1,211 +0,0 @@
|
||||
# Falco {#module-services-falco}
|
||||
|
||||
[Falco](https://falco.org) is a runtime security tool. It watches the system
|
||||
calls made on the host and in its containers through an eBPF probe, evaluates
|
||||
them against a set of rules, and emits an alert when one matches: a shell
|
||||
opened in a container, a sensitive file read by an unexpected program, a binary
|
||||
written below `/etc`.
|
||||
|
||||
This module runs Falco with the modern eBPF probe, which is built into the
|
||||
package and needs no kernel module. It requires a kernel of at least 5.8 with
|
||||
BTF, which every NixOS kernel provides. The kernel module and the legacy eBPF
|
||||
probe are not supported.
|
||||
|
||||
## Basic usage {#module-services-falco-basic-usage}
|
||||
|
||||
```nix
|
||||
{ services.falco.enable = true; }
|
||||
```
|
||||
|
||||
This starts `falco.service` with the stock rules from
|
||||
[falcosecurity/rules](https://github.com/falcosecurity/rules), which are
|
||||
pinned by the package, and with the `container` plugin, which adds the
|
||||
container and image to every event. Alerts are written to the journal:
|
||||
|
||||
```ShellSession
|
||||
$ journalctl -u falco -f
|
||||
```
|
||||
|
||||
The `falco` command is installed as well, to list what is being checked:
|
||||
|
||||
```ShellSession
|
||||
$ falco -c /etc/falco/falco.yaml --list
|
||||
```
|
||||
|
||||
## Configuration {#module-services-falco-configuration}
|
||||
|
||||
[](#opt-services.falco.settings) is the content of `falco.yaml`, written as Nix.
|
||||
Every key of the [reference](https://falco.org/docs/reference/daemon/config-options/)
|
||||
is available. The module sets the keys it needs to load the stock rules and the
|
||||
container plugin; lists you add to those are appended to them.
|
||||
|
||||
```nix
|
||||
{
|
||||
services.falco = {
|
||||
enable = true;
|
||||
settings = {
|
||||
# Drop everything below this priority.
|
||||
priority = "warning";
|
||||
json_output = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
## Writing rules {#module-services-falco-rules}
|
||||
|
||||
[](#opt-services.falco.rules) holds rule files, each the YAML list that Falco
|
||||
reads, written as Nix. The attribute name is the file name. Rules, macros and
|
||||
lists can be mixed in a file:
|
||||
|
||||
```nix
|
||||
{
|
||||
services.falco.rules."50-local" = [
|
||||
{
|
||||
list = "admin_tools";
|
||||
items = [
|
||||
"kubectl"
|
||||
"helm"
|
||||
];
|
||||
}
|
||||
{
|
||||
macro = "admin_tool";
|
||||
condition = "proc.name in (admin_tools)";
|
||||
}
|
||||
{
|
||||
rule = "Admin tool in container";
|
||||
desc = "An admin tool ran inside a container";
|
||||
condition = "spawned_process and container and admin_tool";
|
||||
output = "Admin tool in container (proc=%proc.cmdline image=%container.image.repository)";
|
||||
priority = "NOTICE";
|
||||
tags = [
|
||||
"container"
|
||||
"local"
|
||||
];
|
||||
}
|
||||
];
|
||||
}
|
||||
```
|
||||
|
||||
Files are loaded after the stock rules, in the lexical order of their names, so
|
||||
they can use the stock macros and lists and can override them. Prefer an
|
||||
override to a copy of the stock rule, which would stop receiving fixes:
|
||||
|
||||
```nix
|
||||
{
|
||||
services.falco.rules."60-tuning" = [
|
||||
# A known program that is allowed to read sensitive files.
|
||||
{
|
||||
macro = "user_known_read_sensitive_files_activities";
|
||||
condition = "(proc.name = backup-agent)";
|
||||
override.condition = "replace";
|
||||
}
|
||||
# Extend a stock rule instead of redefining it.
|
||||
{
|
||||
rule = "Terminal shell in container";
|
||||
condition = "and not container.image.repository = registry.example.com/debug-tools";
|
||||
override.condition = "append";
|
||||
}
|
||||
];
|
||||
}
|
||||
```
|
||||
|
||||
See the [rules reference](https://falco.org/docs/concepts/rules/) for the
|
||||
format, and the stock rules for the macros meant to be overridden (the
|
||||
`user_known_*` ones).
|
||||
|
||||
::: {.note}
|
||||
The configuration and every rule file that is a store path are validated with
|
||||
`falco --validate` while the system is built. A rule that does not compile, or
|
||||
an override with nothing to override, fails `nixos-rebuild` instead of the
|
||||
service. Rule files that are runtime paths in `rules_files`, such as a
|
||||
directory under `/var/lib`, cannot be checked and are left to Falco.
|
||||
:::
|
||||
|
||||
## Outputs {#module-services-falco-outputs}
|
||||
|
||||
Alerts go to the journal through standard output. Falco can write them to more
|
||||
places at once; use JSON when something else reads them:
|
||||
|
||||
```nix
|
||||
{
|
||||
services.falco.settings = {
|
||||
json_output = true;
|
||||
|
||||
# A file, for a log shipper such as vector or promtail. The unit's
|
||||
# LogsDirectory makes /var/log/falco writable.
|
||||
file_output = {
|
||||
enabled = true;
|
||||
keep_alive = true;
|
||||
filename = "/var/log/falco/events.json";
|
||||
};
|
||||
|
||||
# A webhook, such as a Falcosidekick instance.
|
||||
http_output = {
|
||||
enabled = true;
|
||||
url = "http://127.0.0.1:2801/";
|
||||
};
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
Falco does not rotate the file it writes. After rotating it, have Falco reopen
|
||||
it with `systemctl kill --signal=SIGUSR1 falco`.
|
||||
|
||||
## Health and metrics {#module-services-falco-webserver}
|
||||
|
||||
The embedded web server is disabled, and listens on the loopback address when
|
||||
enabled. It serves a health endpoint, and Prometheus metrics when asked:
|
||||
|
||||
```nix
|
||||
{
|
||||
services.falco.settings = {
|
||||
webserver = {
|
||||
enabled = true;
|
||||
prometheus_metrics_enabled = true;
|
||||
};
|
||||
metrics.enabled = true;
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
```ShellSession
|
||||
$ curl http://127.0.0.1:8765/healthz
|
||||
$ curl http://127.0.0.1:8765/metrics
|
||||
```
|
||||
|
||||
## Best practices {#module-services-falco-best-practices}
|
||||
|
||||
- **Let it fail at build time.** Keep rules in [](#opt-services.falco.rules) so
|
||||
that they are validated by the build. A typo in a macro name then never
|
||||
reaches the machine.
|
||||
|
||||
- **Override, do not copy.** Tune the stock rules with an `override`, ideally
|
||||
through their `user_known_*` macros. Rules and macros are updated with the
|
||||
package, and an override keeps working across the update; a copy does not.
|
||||
|
||||
- **Start from the alerts you get.** The stock rules are broad, and the first
|
||||
days are noisy. Add exceptions for the programs you know until what is left
|
||||
is worth reading, then raise `priority` to hide the rest.
|
||||
|
||||
- **Send alerts where someone will see them.** An alert in the journal is only
|
||||
found by looking. Forward them with `file_output` or `http_output` to the
|
||||
system that pages you.
|
||||
|
||||
- **Keep the web server on the loopback address.** It has no authentication.
|
||||
If Prometheus scrapes it from another host, restrict the port in the firewall
|
||||
instead of listening on `0.0.0.0`.
|
||||
|
||||
- **Update the rules with the package.** The stock rules are those of the
|
||||
package version, so updating `nixpkgs` updates them. Rules are not fetched
|
||||
at runtime, so what is deployed is what was built and validated.
|
||||
|
||||
- **Watch for dropped events.** On a host with a heavy syscall load, Falco can
|
||||
fall behind and drops events; it logs this and, with `metrics` enabled,
|
||||
counts it. Raise `engine.modern_ebpf.buf_size_preset` first. Falco is only
|
||||
as good as the events it sees.
|
||||
|
||||
- **Do not widen the unit.** The service runs with only the four capabilities
|
||||
the modern eBPF probe needs (`CAP_BPF`, `CAP_PERFMON`, `CAP_SYS_PTRACE` and
|
||||
`CAP_SYS_RESOURCE`), a read-only file system and no new privileges. Those
|
||||
are enough, and the probe is the sensitive part, not the process around it.
|
||||
@@ -1,191 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.services.falco;
|
||||
settingsFormat = pkgs.formats.yaml { };
|
||||
|
||||
stockRules = "${cfg.package}/etc/falco/falco_rules.yaml";
|
||||
|
||||
customRules = lib.mapAttrsToList (
|
||||
name: rules: settingsFormat.generate "${name}.yaml" rules
|
||||
) cfg.rules;
|
||||
|
||||
# Only store paths can be checked at build time; a runtime directory in
|
||||
# `rules_files` is left to Falco.
|
||||
checkedRules = lib.filter (lib.hasPrefix builtins.storeDir) cfg.settings.rules_files;
|
||||
|
||||
# A rule that does not compile fails the build instead of the service.
|
||||
configFile =
|
||||
pkgs.runCommand "falco.yaml"
|
||||
{
|
||||
nativeBuildInputs = [ cfg.package ];
|
||||
config = settingsFormat.generate "falco.yaml" cfg.settings;
|
||||
}
|
||||
''
|
||||
falco -c $config ${lib.concatMapStringsSep " " (rules: "-V ${rules}") checkedRules}
|
||||
cp $config $out
|
||||
'';
|
||||
in
|
||||
{
|
||||
options.services.falco = {
|
||||
enable = lib.mkEnableOption "Falco, a runtime security tool that detects unexpected behavior from kernel events";
|
||||
|
||||
package = lib.mkPackageOption pkgs "falco" { };
|
||||
|
||||
settings = lib.mkOption {
|
||||
type = settingsFormat.type;
|
||||
default = { };
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
json_output = true;
|
||||
priority = "warning";
|
||||
file_output = {
|
||||
enabled = true;
|
||||
filename = "/var/log/falco/events.json";
|
||||
};
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
Contents of `falco.yaml`. See the
|
||||
[configuration reference](https://falco.org/docs/reference/daemon/config-options/)
|
||||
for all keys.
|
||||
|
||||
Only what is set here is written, not the example file shipped with
|
||||
Falco, so a key you leave out takes Falco's built-in default. The module
|
||||
sets `rules_files`, `load_plugins` and `plugins` so that the stock rules
|
||||
and the `container` plugin are loaded. Lists you add to these are
|
||||
appended to them; use `lib.mkForce` to replace them.
|
||||
|
||||
Output goes to the journal by default. `syslog_output` and the
|
||||
`webserver` are disabled, since the former would log every alert twice
|
||||
and the latter listens on all interfaces upstream.
|
||||
'';
|
||||
};
|
||||
|
||||
rules = lib.mkOption {
|
||||
type = lib.types.attrsOf settingsFormat.type;
|
||||
default = { };
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
"50-local" = [
|
||||
{
|
||||
rule = "Write below /etc by a build";
|
||||
desc = "A build modified /etc";
|
||||
condition = "evt.type in (open, openat, openat2) and evt.is_open_write=true and fd.name startswith /etc/ and proc.name = nix-daemon";
|
||||
output = "Build wrote to /etc (file=%fd.name proc=%proc.name)";
|
||||
priority = "WARNING";
|
||||
}
|
||||
];
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
Rule files, each given as the YAML list of rules, macros and lists that
|
||||
Falco reads. The attribute name becomes the file name.
|
||||
|
||||
Files are loaded after the stock rules, in the lexical order of their
|
||||
names. Overrides of a stock rule or macro (`override` or `append`) must
|
||||
therefore come from here, not from the stock file itself. Prefix the
|
||||
names with a number to control the order.
|
||||
|
||||
See the [rules reference](https://falco.org/docs/concepts/rules/) for
|
||||
the format.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion =
|
||||
!(lib.elem cfg.settings.engine.kind [
|
||||
"kmod"
|
||||
"ebpf"
|
||||
]);
|
||||
message = ''
|
||||
services.falco only supports the modern eBPF probe, which is built
|
||||
into the package: `settings.engine.kind` cannot be "${cfg.settings.engine.kind}".
|
||||
'';
|
||||
}
|
||||
];
|
||||
|
||||
services.falco.settings = {
|
||||
rules_files = [ stockRules ] ++ customRules;
|
||||
load_plugins = [ "container" ];
|
||||
plugins = [
|
||||
{
|
||||
name = "container";
|
||||
library_path = "${cfg.package}/share/falco/plugins/libcontainer.so";
|
||||
init_config = {
|
||||
label_max_len = 100;
|
||||
with_size = false;
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
engine.kind = lib.mkDefault "modern_ebpf";
|
||||
|
||||
# Reloading is the unit's job, on a changed configuration.
|
||||
watch_config_files = lib.mkDefault false;
|
||||
|
||||
# Alerts and logs go to the journal, so syslog would only repeat them.
|
||||
stdout_output.enabled = lib.mkDefault true;
|
||||
log_stderr = lib.mkDefault true;
|
||||
syslog_output.enabled = lib.mkDefault false;
|
||||
log_syslog = lib.mkDefault false;
|
||||
|
||||
webserver = {
|
||||
enabled = lib.mkDefault false;
|
||||
listen_address = lib.mkDefault "127.0.0.1";
|
||||
};
|
||||
|
||||
# Falco refuses to start with metrics enabled and no interval.
|
||||
metrics.interval = lib.mkDefault "1h";
|
||||
};
|
||||
|
||||
environment.etc."falco/falco.yaml".source = configFile;
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
systemd.services.falco = {
|
||||
description = "Falco runtime security";
|
||||
documentation = [ "https://falco.org/docs/" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
reloadTriggers = [ configFile ];
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${lib.getExe cfg.package} -c /etc/falco/falco.yaml";
|
||||
# Falco re-reads its configuration and rules on SIGHUP.
|
||||
ExecReload = "${lib.getExe' pkgs.coreutils "kill"} -HUP $MAINPID";
|
||||
Restart = "on-failure";
|
||||
LogsDirectory = "falco";
|
||||
|
||||
# The least privileged set for the modern eBPF probe, see
|
||||
# https://falco.org/docs/setup/container/#docker-least-privileged
|
||||
CapabilityBoundingSet = [
|
||||
"CAP_BPF"
|
||||
"CAP_PERFMON"
|
||||
"CAP_SYS_PTRACE"
|
||||
"CAP_SYS_RESOURCE"
|
||||
];
|
||||
NoNewPrivileges = true;
|
||||
ProtectSystem = "strict";
|
||||
ProtectHome = true;
|
||||
PrivateTmp = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
LockPersonality = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
doc = ./falco.md;
|
||||
maintainers = with lib.maintainers; [ happysalada ];
|
||||
};
|
||||
}
|
||||
@@ -637,7 +637,6 @@ in
|
||||
facter = runTest ./facter;
|
||||
fail2ban = runTest ./fail2ban.nix;
|
||||
fakeroute = runTest ./fakeroute.nix;
|
||||
falco = runTest ./falco.nix;
|
||||
fancontrol = runTest ./fancontrol.nix;
|
||||
fanout = runTest ./fanout.nix;
|
||||
fastnetmon-advanced = runTest ./fastnetmon-advanced.nix;
|
||||
@@ -726,7 +725,7 @@ in
|
||||
fsck = runTest ./fsck.nix;
|
||||
fscrypt = runTest ./fscrypt.nix;
|
||||
ft2-clone = runTest ./ft2-clone.nix;
|
||||
galene = import ./galene.nix { inherit runTest; };
|
||||
galene = discoverTests (import ./galene.nix { inherit runTest; });
|
||||
gancio = runTest ./gancio.nix;
|
||||
garage_1 = import ./garage {
|
||||
inherit runTest;
|
||||
|
||||
@@ -1,97 +0,0 @@
|
||||
{ lib, ... }:
|
||||
let
|
||||
rule = name: file: {
|
||||
rule = name;
|
||||
desc = "Test rule for ${name}";
|
||||
condition = "evt.type in (open, openat, openat2) and fd.name = ${file}";
|
||||
output = "${name} (proc=%proc.name file=%fd.name container=%container.id)";
|
||||
priority = "WARNING";
|
||||
tags = [ "test" ];
|
||||
};
|
||||
in
|
||||
{
|
||||
name = "falco";
|
||||
meta.maintainers = with lib.maintainers; [ happysalada ];
|
||||
|
||||
nodes.machine = {
|
||||
services.falco = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
priority = "warning";
|
||||
json_output = true;
|
||||
file_output = {
|
||||
enabled = true;
|
||||
keep_alive = true;
|
||||
filename = "/var/log/falco/events.json";
|
||||
};
|
||||
webserver = {
|
||||
enabled = true;
|
||||
prometheus_metrics_enabled = true;
|
||||
};
|
||||
metrics.enabled = true;
|
||||
};
|
||||
|
||||
rules = {
|
||||
"50-test" = [ (rule "First file touched" "/tmp/first") ];
|
||||
|
||||
# The overrides shown in the manual; they only compile after the stock rules.
|
||||
"60-tuning" = [
|
||||
{
|
||||
macro = "user_known_read_sensitive_files_activities";
|
||||
condition = "(proc.name = backup-agent)";
|
||||
override.condition = "replace";
|
||||
}
|
||||
{
|
||||
rule = "Terminal shell in container";
|
||||
condition = "and not container.image.repository = registry.example.com/debug-tools";
|
||||
override.condition = "append";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
specialisation.second-rule.configuration.services.falco.rules."50-test" = [
|
||||
(rule "Second file touched" "/tmp/second")
|
||||
];
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
import json
|
||||
|
||||
# The probe attaches some time after the unit has started, so events are
|
||||
# triggered until one is seen.
|
||||
def fires(rule, trigger):
|
||||
machine.wait_until_succeeds(f"{trigger}; grep -q '{rule}' /var/log/falco/events.json")
|
||||
return json.loads(machine.succeed(f"grep '{rule}' /var/log/falco/events.json | tail -n 1"))
|
||||
|
||||
machine.wait_for_unit("falco.service")
|
||||
machine.wait_for_open_port(8765)
|
||||
|
||||
with subtest("serves health and metrics"):
|
||||
machine.succeed("curl -sf http://127.0.0.1:8765/healthz | grep -q ok")
|
||||
machine.wait_until_succeeds("curl -sf http://127.0.0.1:8765/metrics | grep -q falcosecurity")
|
||||
|
||||
with subtest("fires a rule, enriched by the container plugin"):
|
||||
event = fires("First file touched", "touch /tmp/first")
|
||||
assert event["priority"] == "Warning", event
|
||||
assert event["output_fields"]["proc.name"] == "touch", event
|
||||
assert event["output_fields"]["container.id"] == "host", event
|
||||
|
||||
with subtest("loads the stock rules and logs to the journal"):
|
||||
machine.wait_until_succeeds(
|
||||
"cat /etc/shadow > /dev/null; journalctl -u falco -o cat | grep -q 'Read sensitive file untrusted'"
|
||||
)
|
||||
|
||||
with subtest("reopens its output file on SIGUSR1"):
|
||||
machine.succeed("mv /var/log/falco/events.json /var/log/falco/events.old")
|
||||
machine.succeed("systemctl kill --signal=SIGUSR1 falco.service")
|
||||
fires("First file touched", "touch /tmp/first")
|
||||
|
||||
with subtest("reloads changed rules without restarting"):
|
||||
pid = machine.succeed("systemctl show -p MainPID --value falco.service")
|
||||
machine.succeed("/run/booted-system/specialisation/second-rule/bin/switch-to-configuration test")
|
||||
assert pid == machine.succeed("systemctl show -p MainPID --value falco.service"), "falco was restarted"
|
||||
fires("Second file touched", "touch /tmp/second")
|
||||
'';
|
||||
}
|
||||
@@ -212,15 +212,6 @@ in
|
||||
galeneStreamSrtPort = 9710;
|
||||
galeneStreamFeedImage = "galene-stream-feed.png";
|
||||
galeneStreamFeedLabel = "Example";
|
||||
|
||||
# Firefox obfuscates ICE host candidates as mDNS .local names.
|
||||
# Galene's Pion server disables mDNS, so it cannot resolve them and the
|
||||
# WebRTC transport never completes (the stream stays black).
|
||||
firefoxWithWebrtc = pkgs.firefox.override {
|
||||
extraPrefs = ''
|
||||
defaultPref("media.peerconnection.ice.obfuscate_host_addresses", false);
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
name = "galene-stream-works";
|
||||
@@ -264,7 +255,7 @@ in
|
||||
|
||||
systemPackages = with pkgs; [
|
||||
ffmpeg
|
||||
firefoxWithWebrtc
|
||||
firefox
|
||||
galene-stream
|
||||
];
|
||||
};
|
||||
@@ -328,11 +319,6 @@ in
|
||||
machine.wait_for_text(r"(Galène|Username|Password|Connect)")
|
||||
machine.screenshot("galene-group-test-join")
|
||||
|
||||
# Reload the page, else the stream feed label doesn't show up
|
||||
# TODO: figure out why
|
||||
machine.send_key("f5")
|
||||
machine.sleep(5)
|
||||
|
||||
# Log in as anon
|
||||
machine.send_key("ret")
|
||||
machine.sleep(5)
|
||||
|
||||
@@ -1170,8 +1170,10 @@ Reviewing process:
|
||||
- Ensure that the commit text [fits the guidelines](../CONTRIBUTING.md#commit-conventions).
|
||||
- Ensure that the package maintainers are notified.
|
||||
- The continuous integration system will make GitHub notify users based on the submitted changes, but it can happen that it misses some of the package maintainers.
|
||||
- Ensure that the meta field information [fits the guidelines](#meta-attributes) and is correct.
|
||||
- Ensure that the meta field information [fits the guidelines](#meta-attributes) and is correct:
|
||||
- License can change with version updates, so it should be checked to match the upstream license.
|
||||
- If the package has no maintainer, a maintainer must be set.
|
||||
This can be the update submitter or a community member that accepts to take maintainership of the package.
|
||||
- Verify any change of upstream.
|
||||
- If switching from e.g. PyPi to GitHub, verify that the repo is the official one.
|
||||
- If switching to a fork, check with external sources like other package repositories for community consensus.
|
||||
|
||||
@@ -35,7 +35,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
description = "Mopidy extension for playing music from Tidal";
|
||||
homepage = "https://github.com/EbbLabs/mopidy-tidal";
|
||||
changelog = "https://github.com/EbbLabs/mopidy-tidal/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.asl20;
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -515,8 +515,8 @@ let
|
||||
mktplcRef = {
|
||||
publisher = "banacorn";
|
||||
name = "agda-mode";
|
||||
version = "0.10.11";
|
||||
hash = "sha256-XIwM3xW57vHMADz90hek0HKhhsi+3xsSuQaubbhHwSw=";
|
||||
version = "0.10.9";
|
||||
hash = "sha256-uSC5egcM2LIxUwkT0Mc3LXin/j3EWaEgSUTgOBWppLE=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/banacorn.agda-mode/changelog";
|
||||
@@ -2916,8 +2916,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "vscord";
|
||||
publisher = "leonardssh";
|
||||
version = "5.3.12";
|
||||
hash = "sha256-XZ3gGR596jTuxxQEva1cyRqq5fCcvdM6pkF1EBDQ8uw=";
|
||||
version = "5.3.10";
|
||||
hash = "sha256-+4/Qdc/CulyuqqvYZgcE8Dw+gZ5snYpEBLZjFx6z3xM=";
|
||||
};
|
||||
meta = {
|
||||
description = "Highly customizable Discord Rich Presence extension for Visual Studio Code";
|
||||
|
||||
@@ -868,28 +868,28 @@
|
||||
}
|
||||
},
|
||||
"ungoogled-chromium": {
|
||||
"version": "157.0.8103.38",
|
||||
"version": "156.0.8078.79",
|
||||
"deps": {
|
||||
"depot_tools": {
|
||||
"rev": "96b9c092c0cdaa9f1ec87b0af777ec85977dee91",
|
||||
"hash": "sha256-XcnkXK9hxAdHISWT1h37Z+kUG0tnCuOoy7t6B02iU5g="
|
||||
"rev": "a07c06fe67a1a9d64ac4728df3a11c1ceb0cf73e",
|
||||
"hash": "sha256-HarXNOKhTGsm5r52JMGBZ/KdM4Kbvy87PqqGxj2QbjQ="
|
||||
},
|
||||
"gn": {
|
||||
"version": "0-unstable-2026-10-08",
|
||||
"rev": "0035961837fbcfe875d855744b3eda4fd2eefb43",
|
||||
"hash": "sha256-NOgASZ0XgcDCKozZ2Qdt7/D4c91t3KxZbjACT8zR/OA="
|
||||
"version": "0-unstable-2026-09-28",
|
||||
"rev": "510ec7992c30f172205792f190e96111a896ba8f",
|
||||
"hash": "sha256-hmbaR9MfMh5Wn9dARc+QeHmEdkG6WDtvT11IFD5vzJo="
|
||||
},
|
||||
"ungoogled-patches": {
|
||||
"rev": "157.0.8103.38-1",
|
||||
"hash": "sha256-gJcCBZO4HgphCX3nOEBaTrmsyHs+qE24rz/rxbPdVpw="
|
||||
"rev": "156.0.8078.79-1",
|
||||
"hash": "sha256-Kc3tInNYiORmFCJZMzGC9jypx7hoUjc8n9vJwb3qeoA="
|
||||
},
|
||||
"npmHash": "sha256-P7EOD/Tsur9/R6/lYSMxPjzwWaje10VepIZUUQo3dU0="
|
||||
"npmHash": "sha256-pF0JtwFpPC4/fodbhSJnQKkczA9WlDg4VqEAy9aDVLg="
|
||||
},
|
||||
"DEPS": {
|
||||
"src": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src.git",
|
||||
"rev": "a733b5afbb3ba618844ff8876b89ad1a774b2f18",
|
||||
"hash": "sha256-Edfnsq63i16gsrT77OjDQ1VGhZG5zpLB+6yO8MVzz6w=",
|
||||
"rev": "a21ce95c24ce3964416f09ae1862f53f319eb4d0",
|
||||
"hash": "sha256-5KN7UQ76eSN6TxO6AWbpQTV5DPqHXxsUok3MTirhaxE=",
|
||||
"recompress": true
|
||||
},
|
||||
"src/third_party/clang-format/script": {
|
||||
@@ -899,8 +899,8 @@
|
||||
},
|
||||
"src/third_party/compiler-rt/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt.git",
|
||||
"rev": "745ff42c0ef36daa46b309fb0de9b85bea856f54",
|
||||
"hash": "sha256-hjr+pLO5BEgkJXcCqld8Mz2zUo4j7a5HoGVOCifru/Y="
|
||||
"rev": "627967b9c76e9a9d09a29e2c48a9283556f5a3a3",
|
||||
"hash": "sha256-5tuKeJDijNoJ+SDG63kR2vi5SFDQJlpE8s7xL/ndUJ0="
|
||||
},
|
||||
"src/third_party/libc++/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git",
|
||||
@@ -909,18 +909,18 @@
|
||||
},
|
||||
"src/third_party/libc++abi/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git",
|
||||
"rev": "0e691bb69ac90450d8d53bc8ee5968c62f9c15a7",
|
||||
"hash": "sha256-fFTGBlhE1xQcgoxIfroTmKrhj3BneiLt8vsPr1JlE9g="
|
||||
"rev": "127292c11d332549ba1e0aebcece6d4c91de9239",
|
||||
"hash": "sha256-GdjIDdOv4wW99TJXc14sv0t4CbMCJQJObeWfLPBtRsw="
|
||||
},
|
||||
"src/third_party/libunwind/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git",
|
||||
"rev": "9c0490ec858b3201b9aedbe219b530b95dc0be7e",
|
||||
"hash": "sha256-JDPGyhiEPgM3C0OPd45y27Xoaz8fS5lnzyOgkw3uzhc="
|
||||
"rev": "8d41badfccd4bc7dfd17817f65217f2868d69be8",
|
||||
"hash": "sha256-CYzqg2Bx5fSkp1fa8nWnxG4uIHocZYZy+DN5gYvagt4="
|
||||
},
|
||||
"src/third_party/llvm-libc/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git",
|
||||
"rev": "97e60a1e7f7180965cc84e22ddde9f1d4ffd640f",
|
||||
"hash": "sha256-zv8hCCISx2AiKeyLwZ8MGAM4LnBOAGYHH4jqCR9y94s="
|
||||
"rev": "b8b28272d32b75f0ee71acd2fa1144c8b5b95460",
|
||||
"hash": "sha256-93RkcksgiFhm6f+6W7oc44EaLxihY0URrIMYszQyQFM="
|
||||
},
|
||||
"src/chrome/test/data/perf/canvas_bench": {
|
||||
"url": "https://chromium.googlesource.com/chromium/canvas_bench.git",
|
||||
@@ -939,8 +939,8 @@
|
||||
},
|
||||
"src/docs/website": {
|
||||
"url": "https://chromium.googlesource.com/website.git",
|
||||
"rev": "f1913ba8be7e2f05851aa2f3624ad055c13243cf",
|
||||
"hash": "sha256-PiOf4LriUclfCy/rjfJJoRlLrO5+BPTk4YH++kEBFlU="
|
||||
"rev": "70bb13377fed8671966ab9565b7627f2e73ae1a2",
|
||||
"hash": "sha256-9y7mx7wiwqzdM6SjNUmhLxFB3JkdVrdOu0NWQm09UDc="
|
||||
},
|
||||
"src/media/cdm/api": {
|
||||
"url": "https://chromium.googlesource.com/chromium/cdm.git",
|
||||
@@ -949,8 +949,8 @@
|
||||
},
|
||||
"src/net/third_party/quiche/src": {
|
||||
"url": "https://quiche.googlesource.com/quiche.git",
|
||||
"rev": "541aa2a7889b7ea7651e41afc58211f2a256850a",
|
||||
"hash": "sha256-BtznrgJTTaxLqhzjmYrWv0q3UhzRE2Cm3JuwgLMvThE="
|
||||
"rev": "a1628192cf32ba40d21e0dd80f485d68c24ff87a",
|
||||
"hash": "sha256-+67MRq/zzJIltgLPOhOvsIGOJyH4i8EH+tsdw3AK+mw="
|
||||
},
|
||||
"src/testing/libfuzzer/fuzzers/wasm_corpus": {
|
||||
"url": "https://chromium.googlesource.com/v8/fuzzer_wasm_corpus.git",
|
||||
@@ -959,8 +959,8 @@
|
||||
},
|
||||
"src/third_party/angle": {
|
||||
"url": "https://chromium.googlesource.com/angle/angle.git",
|
||||
"rev": "751417514a521b2e92d6928260c62122138824d3",
|
||||
"hash": "sha256-KyWs3Y+J5yAXoX8AapbdTAQgONg86Z+v5UqBIDG9YVs="
|
||||
"rev": "127e783de33425c27a70a3f48da9d9202d6a0745",
|
||||
"hash": "sha256-KYCjI3BrREBHvwtCgioPz+38GXWOffEez9sZqpZDmS0="
|
||||
},
|
||||
"src/third_party/angle/third_party/glmark2/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2",
|
||||
@@ -974,8 +974,8 @@
|
||||
},
|
||||
"src/third_party/angle/third_party/VK-GL-CTS/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS",
|
||||
"rev": "c28b3629309398dc2641c8d4d40079a952160cba",
|
||||
"hash": "sha256-letq9Q2Ca4JnnkQzrA8sAjen7Aotq/sFlEvdQVHflHE="
|
||||
"rev": "93bca01861b0e3ef3c387027a9791e6d065f900c",
|
||||
"hash": "sha256-dB0Z2Ecg+BrpZNfCLACK6Gqw5cqQn1cO8P3zlZNWZ+o="
|
||||
},
|
||||
"src/third_party/anonymous_tokens/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git",
|
||||
@@ -994,13 +994,13 @@
|
||||
},
|
||||
"src/third_party/dav1d/libdav1d": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git",
|
||||
"rev": "99f3354ed0b9b4bf3c7c9347318dbcc522c94af5",
|
||||
"hash": "sha256-avb/o0BmRfx9PFg4UMfH6psnamwwU0qW7gVi2rCjvPQ="
|
||||
"rev": "bf5a8792744ee78c977dfb16503f9156dde6401d",
|
||||
"hash": "sha256-UE2U1jns6+TL/p1WQ1A2PqPhITFrx71B0B339SvUhjY="
|
||||
},
|
||||
"src/third_party/dawn": {
|
||||
"url": "https://dawn.googlesource.com/dawn.git",
|
||||
"rev": "3c24c91e70eaf701ae92ab8cc414669cc4c38892",
|
||||
"hash": "sha256-S6QiLSiNUN1mCfTeEQiu2wrm7Nq3ShEVpLxL7L7shzY="
|
||||
"rev": "8114a24a35eed1db88d1d897e8bd193a8c334712",
|
||||
"hash": "sha256-dqhsoLcd9v5DEXxUll1c5/cNQMbk/EXhM5fR7T/ch3E="
|
||||
},
|
||||
"src/third_party/dawn/third_party/glfw3/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/glfw/glfw",
|
||||
@@ -1019,8 +1019,8 @@
|
||||
},
|
||||
"src/third_party/dawn/third_party/OpenGL-Registry/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry",
|
||||
"rev": "6af574a14089ccfee87efe230ebcdd8742859813",
|
||||
"hash": "sha256-STucWu1jVFoj2Tcr7xC1fj/t71cgXypBZs0taZVrn1w="
|
||||
"rev": "1cdd228e34966dd6b95bd203e9f84faba0f371a1",
|
||||
"hash": "sha256-oiHZr5toqrC/Dcs2R4uhuPzAFPPLvRPyOlr2dm5cSBE="
|
||||
},
|
||||
"src/third_party/dawn/third_party/EGL-Registry/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/EGL-Registry",
|
||||
@@ -1029,13 +1029,13 @@
|
||||
},
|
||||
"src/third_party/dawn/third_party/webgpu-cts": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts",
|
||||
"rev": "cc11994e92512d0a3715e9d28876ec48accb971a",
|
||||
"hash": "sha256-+ikxnPBYDEBITYPaybQCowre+eDVKxrQnbImjUTCqWo="
|
||||
"rev": "81aeeb49e5b15587ec6c1f59b2fdcb4074ffcf63",
|
||||
"hash": "sha256-dTapJsIGrOr5mOLdV7pgIdc2t3S38z0QETVarpcwPVg="
|
||||
},
|
||||
"src/third_party/dawn/third_party/webgpu-headers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/webgpu-native/webgpu-headers",
|
||||
"rev": "a1dc77409bb2b8bd80540cbf4b8db219e123e909",
|
||||
"hash": "sha256-hkwn8AMzkjF6j2J5qJo8FYAoMeBc0DjU0/FQddSgg/s="
|
||||
"rev": "0caa056b5c804e9219d5f8c668a7c29d4dd9c95b",
|
||||
"hash": "sha256-e6zw5+bICNi9FrxeB5tlpmSh32n6+OUXtErg1gkMQmk="
|
||||
},
|
||||
"src/third_party/disarm/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/aengelke/disarm.git",
|
||||
@@ -1064,23 +1064,23 @@
|
||||
},
|
||||
"src/third_party/boringssl/src": {
|
||||
"url": "https://boringssl.googlesource.com/boringssl.git",
|
||||
"rev": "5b83e5d1abf0ae0033ae52ab579d906b67633b2c",
|
||||
"hash": "sha256-TPwlW/v5Vx6h0pSddm3fhf4Fs714w/8zqqYV45aK1tA="
|
||||
"rev": "2ea3200c3a3ec176613ab7a0b9a4ffc6db846120",
|
||||
"hash": "sha256-ua4WDGGMsRypx31RPi1KzyTf3bQ10k601ljeZx+mBOA="
|
||||
},
|
||||
"src/third_party/breakpad/breakpad": {
|
||||
"url": "https://chromium.googlesource.com/breakpad/breakpad.git",
|
||||
"rev": "6598c9c33fc02da7805401f3b0f1a733e6a24071",
|
||||
"hash": "sha256-tS/maYabuAo7l2smTcsCmrIGMg0vcslJl0weLaOA9gM="
|
||||
"rev": "868abe6f016cfeabfb7208681e89031ae667c336",
|
||||
"hash": "sha256-MQJiDXmNBMZjXDzqizSn3pJoJmRvD4gVygSeiAR8gmI="
|
||||
},
|
||||
"src/third_party/cast_core/public/src": {
|
||||
"url": "https://chromium.googlesource.com/cast_core/public",
|
||||
"rev": "1629985cfc0b065310738512a000b6e68716aa03",
|
||||
"hash": "sha256-Q93HYQK+gabwn9zgbgMuP1i2A5aF6oFqbyEGrHqbJy0="
|
||||
"rev": "f5ee589bdaea60418f670fa176be15ccb9a34942",
|
||||
"hash": "sha256-yQxm1GMMne80bLl1P7OAN3bJLz1qRNAvou2/5MKp2ig="
|
||||
},
|
||||
"src/third_party/catapult": {
|
||||
"url": "https://chromium.googlesource.com/catapult.git",
|
||||
"rev": "3d4673f57764ba5f999699abf34a52a3584e8b6c",
|
||||
"hash": "sha256-sJaAZNcvxTuYocLmOPiswhrHcEspOX+NpiUT35GGyrQ="
|
||||
"rev": "f411808cd159db5e47be79ebee59fffca3da1bd4",
|
||||
"hash": "sha256-85mUOVcvtQiJ7cLlkHCubWgZh6bmfgSTIyeNbDt+iss="
|
||||
},
|
||||
"src/third_party/ced/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git",
|
||||
@@ -1114,28 +1114,28 @@
|
||||
},
|
||||
"src/third_party/cros_system_api": {
|
||||
"url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git",
|
||||
"rev": "c21834b66e85db8f93d7da9b9173bb640f9a6e51",
|
||||
"hash": "sha256-YqFppy+xVByVfSr4ZOF9QVsfq/6+UkJXsKQRO6TGn+U="
|
||||
"rev": "0af149cadb77d8e4002cd5e9162043a498db494a",
|
||||
"hash": "sha256-YzfZIybHgDKH6iSdqYirXx+60wz8NE38HMudotub7XI="
|
||||
},
|
||||
"src/third_party/crossbench": {
|
||||
"url": "https://chromium.googlesource.com/crossbench.git",
|
||||
"rev": "87113d767a7d9d4f1fbdaccfd877ee36d3f4b2c7",
|
||||
"hash": "sha256-Vq87IFr4bnDzY/hFEKbgbRWvqDkwzo93aaApu43z1uo="
|
||||
"rev": "043866e26bee4936f0a6a3cf87813fb928d7ea1f",
|
||||
"hash": "sha256-GSUECIv1MBl/6FoPZmb8BlBdaAigUMriOrvVh9XutOA="
|
||||
},
|
||||
"src/third_party/crossbench-web-tests": {
|
||||
"url": "https://chromium.googlesource.com/chromium/web-tests.git",
|
||||
"rev": "ca67d07edc2937541c38bb57e680f3787c446d0d",
|
||||
"hash": "sha256-tsQ/SsBiuRXKgHVCJyzFpERBszhPU9/JGXdnPYhPloE="
|
||||
"rev": "4483f71db32259409d9c5f7c4c95e2605b7a3b13",
|
||||
"hash": "sha256-4urm1A/L+rTE9Z4axJL0ztT0wbm8yzBrmlXHIptZiiw="
|
||||
},
|
||||
"src/third_party/depot_tools": {
|
||||
"url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git",
|
||||
"rev": "96b9c092c0cdaa9f1ec87b0af777ec85977dee91",
|
||||
"hash": "sha256-XcnkXK9hxAdHISWT1h37Z+kUG0tnCuOoy7t6B02iU5g="
|
||||
"rev": "a07c06fe67a1a9d64ac4728df3a11c1ceb0cf73e",
|
||||
"hash": "sha256-HarXNOKhTGsm5r52JMGBZ/KdM4Kbvy87PqqGxj2QbjQ="
|
||||
},
|
||||
"src/third_party/devtools-frontend/src": {
|
||||
"url": "https://chromium.googlesource.com/devtools/devtools-frontend",
|
||||
"rev": "12ada949de6a27116dea47c600da5322f44c64f4",
|
||||
"hash": "sha256-9JV9WNyFnPQJOLbjhCQ4QdLbvbhG29/yzmxooRanEtw="
|
||||
"rev": "8c62f844ad8e0664ff41a633bfc17c472f1c5fd6",
|
||||
"hash": "sha256-fICLXlsXpQz1/AIAau3hdFwGBm/6WCZmHxuPmxs2ThI="
|
||||
},
|
||||
"src/third_party/dom_distiller_js/dist": {
|
||||
"url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git",
|
||||
@@ -1144,8 +1144,8 @@
|
||||
},
|
||||
"src/third_party/ds_store/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/dmgbuild/ds_store.git",
|
||||
"rev": "3a85d45dbb9dc08a6d74770010e5053e0561e538",
|
||||
"hash": "sha256-Fso2CC8nW2xI5M3meLdcjHfrPKk2TthkAxUMYZZ1BJ4="
|
||||
"rev": "6f971c764a511f609615c6c4f5ae2a9403ff32cb",
|
||||
"hash": "sha256-YP0YH2PTejiGSNq9psQdZM62cY95Nvt63Zvk9IbV0kA="
|
||||
},
|
||||
"src/third_party/dragonbox/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/jk-jeon/dragonbox.git",
|
||||
@@ -1154,8 +1154,8 @@
|
||||
},
|
||||
"src/third_party/eigen3/src": {
|
||||
"url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git",
|
||||
"rev": "80778f586abc56b544e92e5423e71991007c197f",
|
||||
"hash": "sha256-uYPx5Hw1Z6Ug2K+dw3dvRA4bGzxxTJnAy7TS2bpXpM8="
|
||||
"rev": "04bfe22876d3bab4260f39491cce7a8df17daa40",
|
||||
"hash": "sha256-Iry7rqUC1CdGLIQH5pm1qaMrq8ZD1GiHX4HsEw3Tt48="
|
||||
},
|
||||
"src/third_party/farmhash/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git",
|
||||
@@ -1164,18 +1164,18 @@
|
||||
},
|
||||
"src/third_party/fast_float/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/fastfloat/fast_float.git",
|
||||
"rev": "42f254836ee416ffcf2f4e6576260003ac33d48c",
|
||||
"hash": "sha256-HnxLKPATEMGZoUvsbtEv/inmQr4AzwWfChP3UDDeUJA="
|
||||
"rev": "b0ab987b3dfdde13fa1915f65ef2a5c068d9208c",
|
||||
"hash": "sha256-Hfnoet/FMCqm5Qx7A6/2NnSlmWgTFJrOqHvXh1TDd6U="
|
||||
},
|
||||
"src/third_party/federated_compute/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google-parfait/federated-compute.git",
|
||||
"rev": "a9d5262aa05a4b1ff3c23697d644023c5d913840",
|
||||
"hash": "sha256-+2JqHj+wPdK6Co84iUnwjRBRmr8xolxsrcAknuZdY9g="
|
||||
"rev": "f5241fb459426f88af484a909927044a71306209",
|
||||
"hash": "sha256-B6DRBWqq9UXYwmcZa/mqS7KY/JCAfCCPiSzX99kIsbk="
|
||||
},
|
||||
"src/third_party/ffmpeg": {
|
||||
"url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git",
|
||||
"rev": "5c85ff666b3434d9323b83437f910ad8431ab7c9",
|
||||
"hash": "sha256-4FUmHoSWjpWWzz883OqAaUQ9CuCoXi3NR6MKOoFRyjE="
|
||||
"rev": "9db86ce5b5b454dfc96c435f9f0723012980c37f",
|
||||
"hash": "sha256-MI/yfyy3RnQXY3qowzRd032LsiirnQ43V7Z9G3E0AjI="
|
||||
},
|
||||
"src/third_party/flac": {
|
||||
"url": "https://chromium.googlesource.com/chromium/deps/flac.git",
|
||||
@@ -1189,8 +1189,8 @@
|
||||
},
|
||||
"src/third_party/fontconfig/src": {
|
||||
"url": "https://chromium.googlesource.com/external/fontconfig.git",
|
||||
"rev": "d416ada7b20a1cdd5050b60a7a1bbdb3d9ddd2dc",
|
||||
"hash": "sha256-oe4OWQQyiuUHZcLQ7Rhtt2Wv1kv0OxNtZBbeK317wFU="
|
||||
"rev": "bd8f7b597de96761750d0365abb49b19d2f8d5c3",
|
||||
"hash": "sha256-YbbkgCy+ivOj+OOKx3R5jmPZJrpP+d7ow6gR3NZgmqw="
|
||||
},
|
||||
"src/third_party/fp16/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FP16.git",
|
||||
@@ -1204,8 +1204,8 @@
|
||||
},
|
||||
"src/third_party/freetype/src": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git",
|
||||
"rev": "37515cf56ba3349656049edbed89ffc6f6466f2d",
|
||||
"hash": "sha256-Mcmb67mYYs6c8yQv39iIq5gxUGBZmWQXkMGSOw6jt14="
|
||||
"rev": "891f904e2e7b4289f615598cd4b69832f87d2f3a",
|
||||
"hash": "sha256-DOFkN/P0RARCU0kxB8J2X7UOnogrlBl5asuATzWBc4w="
|
||||
},
|
||||
"src/third_party/fxdiv/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FXdiv.git",
|
||||
@@ -1214,13 +1214,13 @@
|
||||
},
|
||||
"src/third_party/harfbuzz/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git",
|
||||
"rev": "12ee77ee00514c442bcd28f9aa9d56b708c37382",
|
||||
"hash": "sha256-TPWKUApcxKnbFZmx0XjZeXEqVYWKWruF/MPYydKjKDQ="
|
||||
"rev": "f5efbbef3841bdcdc6427bde7c2971f62ac8c8f1",
|
||||
"hash": "sha256-wUQCb2VoZ/bD/as7SBg39XCgbMzhpBFcuNy/gZmq5V0="
|
||||
},
|
||||
"src/third_party/ink/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/ink.git",
|
||||
"rev": "b6def591a73a6aa0ffce1e58dc69b39de31484ba",
|
||||
"hash": "sha256-I6JGQQrInctpHXHot/92gxUSbe9EPDbkAAFdEdxgsGY="
|
||||
"rev": "1d5a871aefe0a401685cd4388b9b92f9b1c5cadb",
|
||||
"hash": "sha256-ESmSOE5vdunmGOPwJ2TKIJYMnNyZyXP/0zny4MNbM3Q="
|
||||
},
|
||||
"src/third_party/emoji-segmenter/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/emoji-segmenter.git",
|
||||
@@ -1229,8 +1229,8 @@
|
||||
},
|
||||
"src/third_party/oak/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/project-oak/oak.git",
|
||||
"rev": "3ec9bd888b4bcfbe5dea1def3c642911e71e1c96",
|
||||
"hash": "sha256-Kj5H9+85KQvouPGWGiUwj+7FaCtbcszzv/7hc2+FpE8="
|
||||
"rev": "14031232cec7d3d454e89bbae36404d74abf18dc",
|
||||
"hash": "sha256-07MW//bffdPitD5jhwyqfCND3Hq9iKB7HcMGGZJ6GS4="
|
||||
},
|
||||
"src/third_party/ots/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/khaledhosny/ots.git",
|
||||
@@ -1269,18 +1269,18 @@
|
||||
},
|
||||
"src/third_party/leveldatabase/src": {
|
||||
"url": "https://chromium.googlesource.com/external/leveldb.git",
|
||||
"rev": "bb74ef739973a70ca9f0d90788a1da89b788c0ad",
|
||||
"hash": "sha256-We8k4jQ/PlU4Lfd0B3vh3ridXThVDVsAYYCM8+FKGBU="
|
||||
"rev": "7ee830d02b623e8ffe0b95d59a74db1e58da04c5",
|
||||
"hash": "sha256-a1fcVI9Vsm1qE17Fnx5UxwOy4ZFMMJ0OKwNs/gZHYQI="
|
||||
},
|
||||
"src/third_party/libFuzzer/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt/lib/fuzzer.git",
|
||||
"rev": "c7ea90fb61105752fa78e257e77a7c5d62fff7d3",
|
||||
"hash": "sha256-U2di0nxo0UTycVzimBCCDpVllPMhmg6H7W0z/4l5vNo="
|
||||
"rev": "9951014982324338ea932dfdba259aeb1cca70f7",
|
||||
"hash": "sha256-nrYn8GrGeCZtv2aUkx7jjdZftWEdiE8zF0uXLuSxWxQ="
|
||||
},
|
||||
"src/third_party/fuzztest/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git",
|
||||
"rev": "a8861f3aa71443dabaf42dc9cba78b3982524a51",
|
||||
"hash": "sha256-t002FjWujqPyUTL9yUlpY8oXpgrigV7IyV4HLKgA6Fc="
|
||||
"rev": "7a8e9056de2a4f745082a4b3861a67ada47ced36",
|
||||
"hash": "sha256-I0rldbb8zbskUiZpIi1UOaBLiwDBuAeHqYeeNdVzpPI="
|
||||
},
|
||||
"src/third_party/domato/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/googleprojectzero/domato.git",
|
||||
@@ -1294,13 +1294,13 @@
|
||||
},
|
||||
"src/third_party/libaom/source/libaom": {
|
||||
"url": "https://aomedia.googlesource.com/aom.git",
|
||||
"rev": "5d3d740dde020e56edf33b686ff3a7848342319e",
|
||||
"hash": "sha256-m3dp9A9UQ0Vs0Wa3eY5ehrUUvV5f79YdRICyS+9YSRk="
|
||||
"rev": "016144ea8b8b84b9cfa1c3fba56227b2d3471229",
|
||||
"hash": "sha256-EmBofb9iGIimvJ5ruHAWJzLweB5aAs54/gh+tjsrLWU="
|
||||
},
|
||||
"src/third_party/crabbyavif/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/webmproject/CrabbyAvif.git",
|
||||
"rev": "70426ba092e1136198239469c9273d1597052b25",
|
||||
"hash": "sha256-vuvHyfZR8XZutChGpMTHG0t66rrekz+22BIVciRUp5k="
|
||||
"rev": "d25069779cc7258d5f8816d3ca175d463b0b6444",
|
||||
"hash": "sha256-Xn9QTuep5J13ubgPwBwsWGAjq2Bg13mO+Sgm5Ibd4zc="
|
||||
},
|
||||
"src/third_party/nearby/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git",
|
||||
@@ -1359,8 +1359,8 @@
|
||||
},
|
||||
"src/third_party/cros-components/src": {
|
||||
"url": "https://chromium.googlesource.com/external/google3/cros_components.git",
|
||||
"rev": "8d175bbffcaed7d388701535cc8c95457c179cff",
|
||||
"hash": "sha256-R006KxdnaICIsOHpHlTQGKUJEkUs/PsetK2lISdDCDk="
|
||||
"rev": "0abb2efaa3d16db861c9710b193c39e657ac3bdf",
|
||||
"hash": "sha256-viuntf6umyLZwDR9BXG+ZOakp9f8rvpZYDBYAUkKzL4="
|
||||
},
|
||||
"src/third_party/libdrm/src": {
|
||||
"url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git",
|
||||
@@ -1389,13 +1389,13 @@
|
||||
},
|
||||
"src/third_party/libphonenumber/src": {
|
||||
"url": "https://chromium.googlesource.com/external/libphonenumber.git",
|
||||
"rev": "33be5664343676b27761213d8f5500d682568ea7",
|
||||
"hash": "sha256-csaJmPPp6QhXLgwHpJJOuyAJ9MWlV3JPQO/XhOiuoPE="
|
||||
"rev": "0ae309f1940227efe688f5eb1815ef45a6fbee8d",
|
||||
"hash": "sha256-0dOWoIMFjdrz59OnshSk4uDg2AA33ENIdkrlLeqMy2Y="
|
||||
},
|
||||
"src/third_party/libprotobuf-mutator/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/libprotobuf-mutator.git",
|
||||
"rev": "4373c81cd7d50a65f7fbd8dc3779c0c3b1dc9d72",
|
||||
"hash": "sha256-FGrDHr8ye/xG3Kw4256g946uquS6f7dFq0PBd5Vqx0Y="
|
||||
"rev": "c1c950eae0440c3808f2b8bd7c57d0c6a42c1a90",
|
||||
"hash": "sha256-Su1SPr/GEFi7/N8/HrFkVbGfWH0vYdcJ5/on8zLMcyU="
|
||||
},
|
||||
"src/third_party/libsrtp": {
|
||||
"url": "https://chromium.googlesource.com/chromium/deps/libsrtp.git",
|
||||
@@ -1414,8 +1414,8 @@
|
||||
},
|
||||
"src/third_party/libvpx/source/libvpx": {
|
||||
"url": "https://chromium.googlesource.com/webm/libvpx.git",
|
||||
"rev": "d603b5421220b05fd37c5bb6439eb0398cc1f1fe",
|
||||
"hash": "sha256-ijgDvjxgNSo/qHxADEA0zDgqyr7vnFBJOENkQOutgJY="
|
||||
"rev": "de61454cf81594d5927899da122fc53dcc4a846e",
|
||||
"hash": "sha256-L9Wjsr67RgZ1bj686Y7N5nweg2fmUzuR6IkezoMGHiU="
|
||||
},
|
||||
"src/third_party/libwebm/source": {
|
||||
"url": "https://chromium.googlesource.com/webm/libwebm.git",
|
||||
@@ -1424,13 +1424,13 @@
|
||||
},
|
||||
"src/third_party/libwebp/src": {
|
||||
"url": "https://chromium.googlesource.com/webm/libwebp.git",
|
||||
"rev": "68dd1c3040d500f56fe7ffb754b1813fb64b5887",
|
||||
"hash": "sha256-R2UDJ3L55jC+mWXSuETYrOgO7FIp/T+xPKgLJlddnfU="
|
||||
"rev": "b43b2caa710c0c997c066cb32c7fea1391fad70a",
|
||||
"hash": "sha256-k+nEPxiBvfBKIBVHCCQUayhpiVPSScPHdTlUriCDDlQ="
|
||||
},
|
||||
"src/third_party/libyuv": {
|
||||
"url": "https://chromium.googlesource.com/libyuv/libyuv.git",
|
||||
"rev": "1e2e3a35993609da1d89ac170b907719d555f4b3",
|
||||
"hash": "sha256-AkCyW9qaI8ikrmXcehixiE0XTmMXjHCUtWZI4BAdMRE="
|
||||
"rev": "f1c9b5898619f2ced836030c023249f5a8b189d1",
|
||||
"hash": "sha256-eHKGS5lVlLx4o07OWw63xCOVR78H7j+nt5Tt0cm9gXM="
|
||||
},
|
||||
"src/third_party/lss": {
|
||||
"url": "https://chromium.googlesource.com/linux-syscall-support.git",
|
||||
@@ -1439,8 +1439,8 @@
|
||||
},
|
||||
"src/third_party/mac_alias/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/dmgbuild/mac_alias.git",
|
||||
"rev": "ecc3ad82459ec92894de5994d1b5c4adacbbc7a7",
|
||||
"hash": "sha256-KUy4BPspHpNEKRX0eZx3ugqfohnsQ8GOZiWyNjgi2Pw="
|
||||
"rev": "d0c076b4562541c1509d9874f42880378245d268",
|
||||
"hash": "sha256-bhU0/l+WnRai+hUPGUfwllkEAR9bnKbeaRLt0m/5XDE="
|
||||
},
|
||||
"src/third_party/material_color_utilities/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/material-foundation/material-color-utilities.git",
|
||||
@@ -1449,8 +1449,8 @@
|
||||
},
|
||||
"src/third_party/minigbm/src": {
|
||||
"url": "https://chromium.googlesource.com/chromiumos/platform/minigbm.git",
|
||||
"rev": "a2d42f09d696b04e6ded5ad38596d8554ffd8988",
|
||||
"hash": "sha256-kA1IqVVcN7hlt27RvNHJRlsbIGDSpV/0xeP5ZfJq+Io="
|
||||
"rev": "9d21b5cb5896c0cde186b54d430131f9f537104c",
|
||||
"hash": "sha256-uzdoA4yBp3ZIHYtW/OsxfNwxtxKFo+V9jx3u3MEkrV8="
|
||||
},
|
||||
"src/third_party/pipewire/src": {
|
||||
"url": "https://chromium.googlesource.com/external/gitlab.freedesktop.org/pipewire/pipewire.git",
|
||||
@@ -1474,8 +1474,8 @@
|
||||
},
|
||||
"src/third_party/openscreen/src": {
|
||||
"url": "https://chromium.googlesource.com/openscreen",
|
||||
"rev": "8978b74badf042795c07fcf99d0a53dccbd3dcf6",
|
||||
"hash": "sha256-mao6MaBBFAYjwIwYMLNi27gOhx1qGyQxaCWGb9B7W9g="
|
||||
"rev": "a515d3a249e7411fa251a27125815a06a2d73862",
|
||||
"hash": "sha256-oQl+bL1fbvr42GqTgNrxNJX8upAFt9Nkn17580CnmfY="
|
||||
},
|
||||
"src/third_party/openscreen/src/buildtools": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src/buildtools",
|
||||
@@ -1484,13 +1484,8 @@
|
||||
},
|
||||
"src/third_party/openscreen/src/third_party/tinycbor/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/intel/tinycbor.git",
|
||||
"rev": "213155c8729b07dea836c5ac6e807a089486bf7b",
|
||||
"hash": "sha256-aVSaHJ+syjf/t4YE1UfmQnEclVTOASog9E9Rg1rnvNs="
|
||||
},
|
||||
"src/third_party/openscreen/src/third_party/simple_dns/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/balliegojr/simple-dns.git",
|
||||
"rev": "5c7ec98798d7c9f7d76df7aa3bbe754913ff5159",
|
||||
"hash": "sha256-5rKB0P98L+PM8pA7j6Ebx5GMnq0C6awTYkltJjFOqOw="
|
||||
"rev": "bac6648fed8c0ff3d34616e4fff7cdcca634a18e",
|
||||
"hash": "sha256-uORje/zcnyarvycjhpbaiP8bbaqhPQn5tJ3Ewc89mRA="
|
||||
},
|
||||
"src/third_party/openxr/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenXR-SDK",
|
||||
@@ -1499,13 +1494,13 @@
|
||||
},
|
||||
"src/third_party/pdfium": {
|
||||
"url": "https://pdfium.googlesource.com/pdfium.git",
|
||||
"rev": "a4d199fba716a1edcc5d032a1d875f9a8ef2c283",
|
||||
"hash": "sha256-MXun5cwDHY45YXvdaUszTdTfPTOD0S4Fd/edfRZo07o="
|
||||
"rev": "c97f02a3519c99d5969514970fd8186318cdb2b0",
|
||||
"hash": "sha256-DdoMSaiwAb+nyq1Wppyv24S1ooR2XBDl6ydfD4O0t/U="
|
||||
},
|
||||
"src/third_party/perfetto": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/perfetto.git",
|
||||
"rev": "b480aedf9171d15257a110f893bcaa940f94b907",
|
||||
"hash": "sha256-bxgMzgWXcmSMttnTv01yVcOZRHxWyJK0RzlL1r+QFDQ="
|
||||
"rev": "403906f4adfbf287a02e5546f8430dcc9d56b649",
|
||||
"hash": "sha256-co2BXwGSloHlAz2BZF3yDmEjfuOtjzFKEAdxTF8w+GE="
|
||||
},
|
||||
"src/third_party/protobuf-javascript/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/protocolbuffers/protobuf-javascript",
|
||||
@@ -1534,8 +1529,8 @@
|
||||
},
|
||||
"src/third_party/re2/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/re2.git",
|
||||
"rev": "2da0056814cf180480a19f5cf811e7e1c054bf6d",
|
||||
"hash": "sha256-80ecSWwzVRH7upyKvmP4WVw9NzZQmP9ylyZIjzW7WCo="
|
||||
"rev": "972a15cedd008d846f1a39b2e88ce48d7f166cbd",
|
||||
"hash": "sha256-oEU+dz8ax1S36+f9OysjB0GnQj8mjZx1VsZ/UgckdDI="
|
||||
},
|
||||
"src/third_party/ruy/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/ruy.git",
|
||||
@@ -1554,8 +1549,8 @@
|
||||
},
|
||||
"src/third_party/skia": {
|
||||
"url": "https://skia.googlesource.com/skia.git",
|
||||
"rev": "ca84ce0a6f1659748188469a89361ccea71e3a64",
|
||||
"hash": "sha256-H/tfxE+LzCXM5+qk0rVMUdjBPJHQ85JIYSV0ZY4BQIw="
|
||||
"rev": "aa789d9bd566b9865add4070dc6777b3266c64e9",
|
||||
"hash": "sha256-ynH8Q/2lx4HQTnQNXkaKFPpyiY3SNNiOtIr6TrUBWxA="
|
||||
},
|
||||
"src/third_party/smhasher/src": {
|
||||
"url": "https://chromium.googlesource.com/external/smhasher.git",
|
||||
@@ -1574,8 +1569,8 @@
|
||||
},
|
||||
"src/third_party/swiftshader": {
|
||||
"url": "https://swiftshader.googlesource.com/SwiftShader.git",
|
||||
"rev": "0f87bb2d3742c2992fd1a7dcb2f051eebf79299c",
|
||||
"hash": "sha256-HW0K7upAK1IqpzxQXNyQ/SVhguHJ8aloF5OuxO6xFaw="
|
||||
"rev": "1e80438d2b93ef36a7c05f8d2b81233bac0e3d16",
|
||||
"hash": "sha256-RGzptM7BlGbMEnvlf7ZEVKaXorch+aChrZt+PneXueA="
|
||||
},
|
||||
"src/third_party/text-fragments-polyfill/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git",
|
||||
@@ -1584,23 +1579,23 @@
|
||||
},
|
||||
"src/third_party/tflite/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git",
|
||||
"rev": "35746aec160345c2de2f243cc774e678028d39d3",
|
||||
"hash": "sha256-mVA9hlOPesgVf4bu6mCnQtWHjBSerFmRvJMaFpj2YdU="
|
||||
"rev": "9edd58f895c58c3db484a9e39ab2e953baca4bca",
|
||||
"hash": "sha256-iDLShSiKMXf2bQoMS4BXEj6Z1lMMvSjcnKzBJqzEQ2I="
|
||||
},
|
||||
"src/third_party/litert/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google-ai-edge/LiteRT.git",
|
||||
"rev": "2a91591eca78fdded805e6f2d924f484b6ac94a7",
|
||||
"hash": "sha256-1BQyGwowjNT8O4IcRKUbrfcCWMzyPR90VhbDQNZmXag="
|
||||
"rev": "4dac1538b76bc20bb7f2ba314bcc89dc57c0ee2b",
|
||||
"hash": "sha256-BEjQKsj75hgC/UrtfPDk0H6b5DGjtUY7XOLx+nalOkU="
|
||||
},
|
||||
"src/third_party/vulkan-deps": {
|
||||
"url": "https://chromium.googlesource.com/vulkan-deps",
|
||||
"rev": "da42ef74dde0a6687ad63b4c387732f3d55ea974",
|
||||
"hash": "sha256-ky9Z4M7BdN7/WngYGMR5kVPYJMLNEZujK3uNhNZlImM="
|
||||
"rev": "f86e6c66b639c9a6b24640218931d30a9b0f1e3e",
|
||||
"hash": "sha256-nYDjQcfX7q7YvAjphF3j0c6d4qOK8eZPBbFN7kyCq68="
|
||||
},
|
||||
"src/third_party/glslang/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang",
|
||||
"rev": "79c91f375f7e278cf99d6925c2b8d3de83ef0f53",
|
||||
"hash": "sha256-INZR+y/e4GWnszVuBd8j1hlvK2qchrIittqyRdAv2fI="
|
||||
"rev": "2ff6f609379ce43c4291c732cf6a19dd2461a680",
|
||||
"hash": "sha256-sctbgPFzMiIrsQ4f2NxesGd57U5IxU3cHUnUtGi9+Wk="
|
||||
},
|
||||
"src/third_party/spirv-cross/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross",
|
||||
@@ -1609,38 +1604,38 @@
|
||||
},
|
||||
"src/third_party/spirv-headers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers",
|
||||
"rev": "86f980c731e62ae4eaf383d320449d71687936bf",
|
||||
"hash": "sha256-SDfi9eXdnlhhAbT6V4Q5BoM3nkrxkZbiBGmIqWy2Pes="
|
||||
"rev": "cb42dec3830d3ac67fa449ecdc0c0f73d5e74498",
|
||||
"hash": "sha256-hZ2+H9M55rdvu/MZrrOsZCUXDWbLMDMHyUjDWz/1L7I="
|
||||
},
|
||||
"src/third_party/spirv-tools/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools",
|
||||
"rev": "911d1eaf87fd7763b2365d7e339816fa31ec3f4b",
|
||||
"hash": "sha256-VzxenrzCYwWKKPXOCajAXbRLXzdbUsNyv/1t75HXaDo="
|
||||
"rev": "1d0401cd2b68ae34cda9ff625bedd1be4ed6214a",
|
||||
"hash": "sha256-4kbPbbhTk5Ao6HBiCmEn7LBk1/3Yv2Hqp4HzNA1NbgY="
|
||||
},
|
||||
"src/third_party/vulkan-headers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers",
|
||||
"rev": "c46850864f4661461b0f6cb9922c058ffea4915e",
|
||||
"hash": "sha256-KyHdumYx8qIgQFcr+l4L9ayKpk1/6KBa3f7OyluqKbc="
|
||||
"rev": "3c65a01745e4a1134d32b9c2c456472212dba16d",
|
||||
"hash": "sha256-KElTEUIu/bhaJOQ77dd7Oyf6VY2td3B8Z6Xs6WJjb94="
|
||||
},
|
||||
"src/third_party/vulkan-loader/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader",
|
||||
"rev": "6b45d76280a9525740c38c1796060eadb9267488",
|
||||
"hash": "sha256-tglGZ+3C070wZ+z6W+kYC01KWw5ng9xbVqolNYFmUGo="
|
||||
"rev": "3270cf8a1349306f0ddee1b500ee2b0d552e1c82",
|
||||
"hash": "sha256-y269aTRmogCIE3NR09HeVApuQdOSuQ4G/NuNhHcKbr8="
|
||||
},
|
||||
"src/third_party/vulkan-tools/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools",
|
||||
"rev": "a967170a2b8a1ded4dbdf82d533caaec89184efe",
|
||||
"hash": "sha256-6xhtT5jfmvk92QKC2W1wQEiy/sE+Nm+EdTv6eS2RNKA="
|
||||
"rev": "69ca4d4b6590ab32e7a398725bfc90f81e6338e6",
|
||||
"hash": "sha256-3bbejjXeao9UeqTeZVWYSuN2iJF2LOohSfk36JXKuqY="
|
||||
},
|
||||
"src/third_party/vulkan-utility-libraries/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries",
|
||||
"rev": "90738f6edfa19561a978fc5f97543ba37075ba9d",
|
||||
"hash": "sha256-tUhLC0RcCUqNsoQ53zwfjR3mzd8/rSASzWQX463+EqY="
|
||||
"rev": "666fdaa0f87b9d49ae576473227b4b4cf428ba7e",
|
||||
"hash": "sha256-1Ov/gLfivOcYVuS7WEFzebRsFpERgBhJl0hgstR0l/k="
|
||||
},
|
||||
"src/third_party/vulkan-validation-layers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers",
|
||||
"rev": "5b41089a2b3f2ccf5112279034154c3a4e89bf4c",
|
||||
"hash": "sha256-DBiUwIIg5RkCtd0WEKRYnOFNRdb8PnW2CAGCZX5VvnU="
|
||||
"rev": "b0688753f1fc04a382ef0fd8c46ecb5a7c91486c",
|
||||
"hash": "sha256-eG+btKij7W9+o4fBO1SvVwYq8STHfNh9LFdbmHziv2Q="
|
||||
},
|
||||
"src/third_party/vulkan_memory_allocator": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git",
|
||||
@@ -1669,8 +1664,8 @@
|
||||
},
|
||||
"src/third_party/webdriver/pylib": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/SeleniumHQ/selenium/py.git",
|
||||
"rev": "6845a0329408f149fafdbe901f480e2bd47be3fb",
|
||||
"hash": "sha256-9sPRx4Y3rj/FTyDP4QvRs2q7fbgJ/YfnCstj++izecA="
|
||||
"rev": "1e954903022e9386b9acf452c24f4458dd4c4fc1",
|
||||
"hash": "sha256-k5qx4xyO83jPtHaMh6aMigMJ3hsytFdFQOcZLmwPEYo="
|
||||
},
|
||||
"src/third_party/webgl/src": {
|
||||
"url": "https://chromium.googlesource.com/external/khronosgroup/webgl.git",
|
||||
@@ -1679,13 +1674,13 @@
|
||||
},
|
||||
"src/third_party/webgpu-cts/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git",
|
||||
"rev": "cc11994e92512d0a3715e9d28876ec48accb971a",
|
||||
"hash": "sha256-+ikxnPBYDEBITYPaybQCowre+eDVKxrQnbImjUTCqWo="
|
||||
"rev": "a5e5d7440fa036b74ea13c3c5cb6b618a3c884e9",
|
||||
"hash": "sha256-+v0syXRVf0r95640qen3S9YlhJkCLR+Imxe149hiNLE="
|
||||
},
|
||||
"src/third_party/webpagereplay": {
|
||||
"url": "https://chromium.googlesource.com/webpagereplay.git",
|
||||
"rev": "6a31bb0937dccd01bedae8bd6cdeb8c113937cfb",
|
||||
"hash": "sha256-+thmPEFOo42jdNxezA0AKdQYffqQ0BgHtXTe36fX1qE="
|
||||
"rev": "219ee9a2bb0d0d1440832a0e1d44716833da1ff3",
|
||||
"hash": "sha256-FfLmfG7nUPmiczWYgyu63n7vOuFOi4OjMT9w9igyWFw="
|
||||
},
|
||||
"src/third_party/webpagereplay/third_party/clang-format/script": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git",
|
||||
@@ -1694,8 +1689,8 @@
|
||||
},
|
||||
"src/third_party/webrtc": {
|
||||
"url": "https://webrtc.googlesource.com/src.git",
|
||||
"rev": "95554e4a0c5c343fdc989387d9d0ce18e2a2294b",
|
||||
"hash": "sha256-ocpn9O3GJdlU+KdQ7RMqO8UCGnsYwh25wiuflql8/yM="
|
||||
"rev": "19576e37870bfe5a0a910a32f98ff411f722f43a",
|
||||
"hash": "sha256-Pp3s7YVf7FUVEjjEcIwjnAAS3R5G8Id7uhLDGOqest8="
|
||||
},
|
||||
"src/third_party/wuffs/src": {
|
||||
"url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git",
|
||||
@@ -1709,8 +1704,8 @@
|
||||
},
|
||||
"src/third_party/xnnpack/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git",
|
||||
"rev": "5d067b8f52342ba192ad9f67ebab9e77c1d046bc",
|
||||
"hash": "sha256-C5yC8891L5OGyp3eWYPDmJxR8Q5cqJT16Fs1LZPvy9c="
|
||||
"rev": "b6d54fe94520ee6e1181ca1b402f71dbb5d50efa",
|
||||
"hash": "sha256-Xh/g0k4XcxH8F32n+AcACS0eXhmeEc3oMSuxqjx2+7w="
|
||||
},
|
||||
"src/third_party/libei/src": {
|
||||
"url": "https://chromium.googlesource.com/external/gitlab.freedesktop.org/libinput/libei.git",
|
||||
@@ -1724,13 +1719,13 @@
|
||||
},
|
||||
"src/v8": {
|
||||
"url": "https://chromium.googlesource.com/v8/v8.git",
|
||||
"rev": "440c1c463e2e528c309af5067952e7b11631507f",
|
||||
"hash": "sha256-xJagwd/+02xASd1iam69ltdEPEUOwGODfKdkm94D/EQ="
|
||||
"rev": "c9b3cfcab30ace06c21f9b48a0f0a34805e81e9d",
|
||||
"hash": "sha256-3HhlZ6uCSq8T5a6N6TC7VkMBY3xkFoQUZbqpUUE4nro="
|
||||
},
|
||||
"src/agents/shared": {
|
||||
"url": "https://chromium.googlesource.com/chromium/agents.git",
|
||||
"rev": "868618a8d1327ea3f6ab037b947e51f93b889ce1",
|
||||
"hash": "sha256-6NCYjk9Ji3xQmNqrRxiuYBa0AE9k7f2EHKpBRhV6jKc="
|
||||
"rev": "865684c4f7092e4ab05adcd3fcf068672ff28d27",
|
||||
"hash": "sha256-cZ6Jwjy+nwrU4qE+D85jq01mxPNuvbszjIU2Pd4LktI="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,138 +0,0 @@
|
||||
{
|
||||
"images-calico-linux-amd64-tar-gz": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-calico.linux-amd64.tar.gz",
|
||||
"sha256": "9933625c6b44a7dec195c6cc74554c33ffcce72d316c7bf7e8187bed4333d6b3"
|
||||
},
|
||||
"images-calico-linux-amd64-tar-zst": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-calico.linux-amd64.tar.zst",
|
||||
"sha256": "043be2fdbb45579ecbc7fafe963b66804c2a9a7ee87713db57b296add4b3f12d"
|
||||
},
|
||||
"images-calico-linux-arm64-tar-gz": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-calico.linux-arm64.tar.gz",
|
||||
"sha256": "46feb745081534e38e546af946d9065ef5807ce7dae8812aeecf6ca2baf65367"
|
||||
},
|
||||
"images-calico-linux-arm64-tar-zst": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-calico.linux-arm64.tar.zst",
|
||||
"sha256": "91874f5f1aaa5a2e70095cea92a9a315fe733bc1b6591339292c24a652824007"
|
||||
},
|
||||
"images-canal-linux-amd64-tar-gz": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-canal.linux-amd64.tar.gz",
|
||||
"sha256": "10e56f0e0d574a3e63ec48f0ac0aa9a3b1dc0e8158965b312e2003f6b5dde0a6"
|
||||
},
|
||||
"images-canal-linux-amd64-tar-zst": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-canal.linux-amd64.tar.zst",
|
||||
"sha256": "294426213e146205f37037d2ab7bc629225d53a785e3f89d5a5f7405d2f0c98d"
|
||||
},
|
||||
"images-canal-linux-arm64-tar-gz": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-canal.linux-arm64.tar.gz",
|
||||
"sha256": "b3ae5858b2c1653870a2e0b8035f33a1ca635f40c7591cb176ac12fb4f58038f"
|
||||
},
|
||||
"images-canal-linux-arm64-tar-zst": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-canal.linux-arm64.tar.zst",
|
||||
"sha256": "4d8fd98cb7810f25bd67e5ee6b5b5dd9ef894f4a7064f10bcdc06d12856157ff"
|
||||
},
|
||||
"images-cilium-linux-amd64-tar-gz": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-cilium.linux-amd64.tar.gz",
|
||||
"sha256": "bc28fc3f809f3d586e0e1db856f79b7df6bee779bfcb3a0bf4963d94afb245b4"
|
||||
},
|
||||
"images-cilium-linux-amd64-tar-zst": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-cilium.linux-amd64.tar.zst",
|
||||
"sha256": "920fe0c6cccc2da9c7dccf5c998d279ab6745ee6c386d5990ce270c0e8325960"
|
||||
},
|
||||
"images-cilium-linux-arm64-tar-gz": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-cilium.linux-arm64.tar.gz",
|
||||
"sha256": "d634bc24cfa620649e9f7995744b973b0c6d56c4930bfa1281e4ed6b58f0866a"
|
||||
},
|
||||
"images-cilium-linux-arm64-tar-zst": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-cilium.linux-arm64.tar.zst",
|
||||
"sha256": "c62103768bc0cefdd4d99687664f8031a5ca9d76858a5a12e91e9bfe417e26ab"
|
||||
},
|
||||
"images-core-linux-amd64-tar-gz": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-core.linux-amd64.tar.gz",
|
||||
"sha256": "9cb92353f8610d1d0a75fdde2f9f7d5d3eae2ee01af3acb18f2c4c9b91fb03ae"
|
||||
},
|
||||
"images-core-linux-amd64-tar-zst": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-core.linux-amd64.tar.zst",
|
||||
"sha256": "e15256a50156259f920537be98abaac23396d09bc443374571830b84d8ea978e"
|
||||
},
|
||||
"images-core-linux-arm64-tar-gz": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-core.linux-arm64.tar.gz",
|
||||
"sha256": "82f504aec15804828c126620490c94f5d7f1d05418b0e85b5645ad91657d3b9a"
|
||||
},
|
||||
"images-core-linux-arm64-tar-zst": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-core.linux-arm64.tar.zst",
|
||||
"sha256": "f1411256c867736e66248f14373ad4662a519392518a09eb6670d9dac0c39c1b"
|
||||
},
|
||||
"images-flannel-linux-amd64-tar-gz": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-flannel.linux-amd64.tar.gz",
|
||||
"sha256": "d615198d253d8d3a2ec52815be017f286f40b8d5ea21acf2df2e22fc5cd8f219"
|
||||
},
|
||||
"images-flannel-linux-amd64-tar-zst": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-flannel.linux-amd64.tar.zst",
|
||||
"sha256": "60ab2086db11ec872a191c560ff9ae4a18d42ae57745892ff79db2b6b31486c3"
|
||||
},
|
||||
"images-flannel-linux-arm64-tar-gz": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-flannel.linux-arm64.tar.gz",
|
||||
"sha256": "bc26fbafeb06d846f11eec40bd19d3c8a5d195f285a5373e5ad1827e85416213"
|
||||
},
|
||||
"images-flannel-linux-arm64-tar-zst": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-flannel.linux-arm64.tar.zst",
|
||||
"sha256": "8a6b05ac2b4722316eb4d404a648634a2a06cad12d729322c96b24cfdd6380ec"
|
||||
},
|
||||
"images-harvester-linux-amd64-tar-gz": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-harvester.linux-amd64.tar.gz",
|
||||
"sha256": "4b408c368f69ee833a101395593ae24f25ad1522d0f936aac3e9e32bdcbfab7b"
|
||||
},
|
||||
"images-harvester-linux-amd64-tar-zst": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-harvester.linux-amd64.tar.zst",
|
||||
"sha256": "42d35db6057a91b55d4f1fe9293a1169ebe37df897e0e8440143710f975ae57c"
|
||||
},
|
||||
"images-harvester-linux-arm64-tar-gz": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-harvester.linux-arm64.tar.gz",
|
||||
"sha256": "a00fe038f63c91b7c6bbe0bb2a570c67f9c6656a01854ec58e6708903994da18"
|
||||
},
|
||||
"images-harvester-linux-arm64-tar-zst": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-harvester.linux-arm64.tar.zst",
|
||||
"sha256": "61e8ab803b85cc69e03f60f098b2141b6b7f84ce87e1a8d771c822fb181bd1d4"
|
||||
},
|
||||
"images-ingress-nginx-linux-amd64-tar-gz": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-ingress-nginx.linux-amd64.tar.gz",
|
||||
"sha256": "071f1d8ef4abe948713e3b557efb5270db99d8e84bceb4ec635af10ea847ca14"
|
||||
},
|
||||
"images-ingress-nginx-linux-amd64-tar-zst": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-ingress-nginx.linux-amd64.tar.zst",
|
||||
"sha256": "d5b7d3f12de0799cebf84fc6260fc4f093f2837c5fef6fc84849d8f1da5cbc22"
|
||||
},
|
||||
"images-ingress-nginx-linux-arm64-tar-gz": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-ingress-nginx.linux-arm64.tar.gz",
|
||||
"sha256": "6f5103cd00bf1321bcd04a706f5fb37fb7cb1770ec0877c4f59b28823d8579bc"
|
||||
},
|
||||
"images-ingress-nginx-linux-arm64-tar-zst": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-ingress-nginx.linux-arm64.tar.zst",
|
||||
"sha256": "ae55e099bc706ff46166843107097f61518d3c0a7832c3f71ba1171e4506d497"
|
||||
},
|
||||
"images-multus-linux-amd64-tar-gz": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-multus.linux-amd64.tar.gz",
|
||||
"sha256": "d5efcc7c6c73b1b1074e3d2d05abe8257c5dd855fcb16f74a5b25e46fdce8388"
|
||||
},
|
||||
"images-multus-linux-amd64-tar-zst": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-multus.linux-amd64.tar.zst",
|
||||
"sha256": "fe86c55eb4c87190391670533c9b1f01944e3e8270dd40ea0e5e1155d01fcfcd"
|
||||
},
|
||||
"images-multus-linux-arm64-tar-gz": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-multus.linux-arm64.tar.gz",
|
||||
"sha256": "821fa96604c1882591914ae6f90f3236e13ea4ebef9f8337743e5850eae83b62"
|
||||
},
|
||||
"images-multus-linux-arm64-tar-zst": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-multus.linux-arm64.tar.zst",
|
||||
"sha256": "1becdd1f86739dbbc6fc80d17afe40b8c0bd2d84b5e8964a0d1e7132f219d122"
|
||||
},
|
||||
"images-vsphere-linux-amd64-tar-gz": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-vsphere.linux-amd64.tar.gz",
|
||||
"sha256": "fd8d68decd7acaec3cc632de6e7ec42c7fbacb60a3b7fade9535fc04774cde15"
|
||||
},
|
||||
"images-vsphere-linux-amd64-tar-zst": {
|
||||
"url": "https://github.com/rancher/rke2/releases/download/v1.37.1%2Brke2r1/rke2-images-vsphere.linux-amd64.tar.zst",
|
||||
"sha256": "d45b40308a549669f2b0c375aa07e9dcda8aef01c27749b00e71aaf2611de995"
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
rke2Version = "1.37.1+rke2r1";
|
||||
rke2Commit = "bb33a3e8f191b46f773bd4eae2fe471927126c1b";
|
||||
rke2TarballHash = "sha256-ezTW6Xhf3hxizz6Lv/aa9NjaXa0z9fANAsaoEY1W6v4=";
|
||||
rke2VendorHash = "sha256-vvKAp2VgId0H9kxNrJos+ANPFgc3MV3cNdeUvFv+io0=";
|
||||
k8sImageTag = "v1.37.1-rke2r1-build20260924";
|
||||
etcdVersion = "v3.7.1-k3s3-build20260915";
|
||||
pauseVersion = "3.10.2";
|
||||
ccmVersion = "v1.37.1-0.20260915225838-315ede265f11-build20260916";
|
||||
dockerizedVersion = "v1.37.1-rke2r1";
|
||||
helmJobVersion = "v0.13.3-build20260909";
|
||||
imagesVersions = with builtins; fromJSON (readFile ./images-versions.json);
|
||||
}
|
||||
@@ -42,8 +42,6 @@ lib:
|
||||
systemd,
|
||||
gnugrep,
|
||||
gnused,
|
||||
nftables,
|
||||
gawk,
|
||||
|
||||
# Testing dependencies
|
||||
nixosTests,
|
||||
@@ -151,8 +149,6 @@ buildGoModule (finalAttrs: {
|
||||
systemd
|
||||
gnugrep
|
||||
gnused
|
||||
nftables
|
||||
gawk
|
||||
]
|
||||
} \
|
||||
--prefix PATH : ${lib.makeBinPath finalAttrs.buildInputs}
|
||||
|
||||
@@ -11,9 +11,7 @@ rec {
|
||||
|
||||
rke2_1_36 = common (import ./1_36/versions.nix) extraArgs;
|
||||
|
||||
rke2_1_37 = common (import ./1_37/versions.nix) extraArgs;
|
||||
|
||||
# Automatically set by update script, changes shouldn't be backported
|
||||
rke2_stable = rke2_1_36;
|
||||
rke2_latest = rke2_1_37;
|
||||
rke2_stable = rke2_1_35;
|
||||
rke2_latest = rke2_1_36;
|
||||
}
|
||||
|
||||
@@ -33,6 +33,8 @@ set +u
|
||||
source scripts/version.sh
|
||||
set -u
|
||||
|
||||
ETCD_BUILD=$(grep "images.DefaultEtcdImage" scripts/build-binary | sed 's/.*-\(build[0-9]*\)$/\1/')
|
||||
ETCD_VERSION="${ETCD_VERSION}-${ETCD_BUILD}"
|
||||
cd ${WORKDIR}
|
||||
|
||||
FAKE_HASH="sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
|
||||
@@ -65,7 +67,7 @@ cat << EOF > "${WORKDIR}/1_${MINOR_VERSION}/versions.nix"
|
||||
rke2TarballHash = "${STORE_HASH}";
|
||||
rke2VendorHash = "${FAKE_HASH}";
|
||||
k8sImageTag = "${KUBERNETES_IMAGE_TAG}";
|
||||
etcdVersion = "${ETCD_IMAGE_TAG}";
|
||||
etcdVersion = "${ETCD_VERSION}";
|
||||
pauseVersion = "${PAUSE_VERSION}";
|
||||
ccmVersion = "${CCM_VERSION}";
|
||||
dockerizedVersion = "${DOCKERIZED_VERSION}";
|
||||
|
||||
@@ -36,13 +36,13 @@
|
||||
"vendorHash": "sha256-rpsVkSX4GvCSNuT8cea1IPce+NIUGZqkQmB3ZxhKjrM="
|
||||
},
|
||||
"akamai_akamai": {
|
||||
"hash": "sha256-RQgEg8FV6y/6WVYcPOXaC+ZgJtqEsyFYuvFDfPHSsp0=",
|
||||
"hash": "sha256-6nKfNzNsqp5x6/C5hr1UNC2gz5eTV2DonNQ3olvGxIA=",
|
||||
"homepage": "https://registry.terraform.io/providers/akamai/akamai",
|
||||
"owner": "akamai",
|
||||
"repo": "terraform-provider-akamai",
|
||||
"rev": "v12.0.0",
|
||||
"rev": "v11.1.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-iYrZ1u5na162vXZ+DbgmwoyC0/d73DznUcypORQp2Lk="
|
||||
"vendorHash": "sha256-HlX2EfTgDa7K7qkzmR/9Rsamyi/f4EXT3T7eaReGeK4="
|
||||
},
|
||||
"aliyun_alicloud": {
|
||||
"hash": "sha256-R/NNA0zLxno04YxQWvDeA+bXhgjM/7Q0WOoSu2lLMAM=",
|
||||
@@ -525,11 +525,11 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"hashicorp_azurerm": {
|
||||
"hash": "sha256-WEOhduXb/+QxThy7N+gTBS7xgPyQnU6vis3kcwBFGFU=",
|
||||
"hash": "sha256-F0Y/jgR0iNA9DrmmdwHcky8Yii6aB4QSpNguObaq7ow=",
|
||||
"homepage": "https://registry.terraform.io/providers/hashicorp/azurerm",
|
||||
"owner": "hashicorp",
|
||||
"repo": "terraform-provider-azurerm",
|
||||
"rev": "v5.12.0",
|
||||
"rev": "v5.11.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
@@ -1228,13 +1228,13 @@
|
||||
"vendorHash": "sha256-raw9hcAvzBKy8bLbUNM36JZTYYE//r7b3HdZ3qFLtPY="
|
||||
},
|
||||
"splunk-terraform_signalfx": {
|
||||
"hash": "sha256-IYvDyd1lbhiAQDLWUSt1H7geHaLBbX8xp+uFBrjaK+U=",
|
||||
"hash": "sha256-t096v7RCmJJTIoFYl/WoN9v4vq1X3PAIgUD57EIbM0Y=",
|
||||
"homepage": "https://registry.terraform.io/providers/splunk-terraform/signalfx",
|
||||
"owner": "splunk-terraform",
|
||||
"repo": "terraform-provider-signalfx",
|
||||
"rev": "v9.36.0",
|
||||
"rev": "v9.35.1",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-UPEnosJe2ud712EZGqPOiZwpTGCh8fvjvr0kQnmcPsk="
|
||||
"vendorHash": "sha256-jEqN6WvPXKxk9UHKZrzXo1+L6tHVV1Wb+E0O22LfMl0="
|
||||
},
|
||||
"spotinst_spotinst": {
|
||||
"hash": "sha256-9sg3PYpEF974qpwDmTwJ/JnJvt1aPCG5VdMZSflpAOs=",
|
||||
@@ -1300,11 +1300,11 @@
|
||||
"vendorHash": "sha256-MySaED4kj+F2rYaYu1rpw5qUQFBx9u2Prpn+nqvqqA0="
|
||||
},
|
||||
"temporalio_temporalcloud": {
|
||||
"hash": "sha256-nPStiYzPrZo7Gy0XJmEoSmCcZJ2ItkAfACxT8VV4q7c=",
|
||||
"hash": "sha256-xIyYQ6882s1e+0Th26Atzg07I27WDAOBmgeI2WU3v/g=",
|
||||
"homepage": "https://registry.terraform.io/providers/temporalio/temporalcloud",
|
||||
"owner": "temporalio",
|
||||
"repo": "terraform-provider-temporalcloud",
|
||||
"rev": "v1.10.0",
|
||||
"rev": "v1.9.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-t799EW0oXtzzHVjbOv5dPQ5V070wg7Y8MZohQ1O70Pk="
|
||||
},
|
||||
@@ -1408,11 +1408,11 @@
|
||||
"vendorHash": "sha256-XH3Z47i7WTiZ+WrUadoRABcXD8ZkeXnJHINKkAHseE8="
|
||||
},
|
||||
"ucloud_ucloud": {
|
||||
"hash": "sha256-MUasMXdu7irI35VMdz3SFIfEHGSY32AxQ6KTVEovND0=",
|
||||
"hash": "sha256-IspQAyPo+d5sI7NCmdBJ85VZs7aEFsY/RA9yJFEKc58=",
|
||||
"homepage": "https://registry.terraform.io/providers/ucloud/ucloud",
|
||||
"owner": "ucloud",
|
||||
"repo": "terraform-provider-ucloud",
|
||||
"rev": "v1.49.0",
|
||||
"rev": "v1.48.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
|
||||
@@ -50,14 +50,14 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "telegram-desktop-unwrapped";
|
||||
version = "7.3.5";
|
||||
version = "7.3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "telegramdesktop";
|
||||
repo = "tdesktop";
|
||||
rev = "v${finalAttrs.version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-pe/zoG4/wv5080O6z0pKphkbYoBYTKFTN+5U+AQ8g14=";
|
||||
hash = "sha256-tgOIYe6iMiCDphGmuNo3foM5udSWS1y8NDluV/ubNqE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -100,8 +100,8 @@ rec {
|
||||
thunderbird-153 = common {
|
||||
applicationName = "Thunderbird ESR";
|
||||
|
||||
version = "153.6.0esr";
|
||||
sha512 = "fe7a4bdd6bb4627141982600da2d76b8c0e0e6fb2f876715cc58f1cfb42b1c0d03e66e8b75d8e62e89bb8348eeac85ce9fc8c9a58ee3bccf365d82061a1161fc";
|
||||
version = "153.5.1esr";
|
||||
sha512 = "e2f84cbef7454d908438c79d7073297d7cb5aacdbe65f9d2680d2a80be46b800fc6a7cce50037e8646ed1e9846ef54383f72695a69dddc43f1d972a76ba369a3";
|
||||
|
||||
updateScript = callPackage ./update.nix {
|
||||
attrPath = "thunderbirdPackages.thunderbird-153";
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
obs-studio,
|
||||
cmake,
|
||||
qt6,
|
||||
ndi,
|
||||
ndi-6,
|
||||
curl,
|
||||
}:
|
||||
|
||||
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [
|
||||
obs-studio
|
||||
qt6.qtbase
|
||||
ndi
|
||||
ndi-6
|
||||
curl
|
||||
];
|
||||
|
||||
@@ -37,12 +37,12 @@ stdenv.mkDerivation rec {
|
||||
|
||||
postPatch = ''
|
||||
# Add path (variable added in hardcode-ndi-path.patch
|
||||
substituteInPlace src/plugin-main.cpp --replace-fail "@NDI@" "${ndi}"
|
||||
substituteInPlace src/plugin-main.cpp --replace-fail "@NDI@" "${ndi-6}"
|
||||
|
||||
# Replace bundled NDI SDK with the upstream version
|
||||
# (This fixes soname issues)
|
||||
rm -rf lib/ndi
|
||||
ln -s ${ndi}/include lib/ndi
|
||||
ln -s ${ndi-6}/include lib/ndi
|
||||
'';
|
||||
|
||||
cmakeFlags = [ "-DENABLE_QT=ON" ];
|
||||
|
||||
@@ -122,20 +122,3 @@ pnpmConfigHook() {
|
||||
if [ -z "${dontPnpmConfigure-}" ]; then
|
||||
postConfigureHooks+=(pnpmConfigHook)
|
||||
fi
|
||||
|
||||
# Does not replace deleting .modules.yaml before a later pnpm command.
|
||||
pnpmStripInstallState() {
|
||||
local output prefixes=()
|
||||
for output in $(getAllOutputNames); do
|
||||
[ ! -e "${!output}" ] && continue
|
||||
prefixes+=("${!output}")
|
||||
done
|
||||
# Impure files; see doc/languages-frameworks/javascript.section.md.
|
||||
find "${prefixes[@]}" \
|
||||
\( -name .modules.yaml -o -name .pnpm-workspace-state-v1.json \) \
|
||||
-delete
|
||||
}
|
||||
|
||||
if [ -z "${dontPnpmConfigure-}" ] && [ -z "${dontPnpmStripInstallState-}" ]; then
|
||||
postFixupHooks+=(pnpmStripInstallState)
|
||||
fi
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "albert";
|
||||
version = "35.2.0";
|
||||
version = "35.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "albertlauncher";
|
||||
repo = "albert";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ycDQUDrwMY9yv/apozrKQfcugurGjDiItiTXCcbGeas=";
|
||||
hash = "sha256-3YJeZZEm7rnKZhBpKB2pRVNds+xXk18dSbSdSM+hl58=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "althttpd";
|
||||
version = "0-unstable-2026-10-29";
|
||||
version = "0-unstable-2026-10-22";
|
||||
|
||||
src = fetchfossil {
|
||||
url = "https://sqlite.org/althttpd/";
|
||||
rev = "eb0de533f4f7f663";
|
||||
hash = "sha256-J2ul+cJ6cfI3tAOHZOPmB7fKdwYoKnjXoadBvZmqZ9s=";
|
||||
rev = "0912eae49b4f7fcf";
|
||||
hash = "sha256-KnSHSFvD1qI4UF1jYPyX5/2QsqnQs4RP+W2T9PviImM=";
|
||||
};
|
||||
|
||||
buildInputs = [ openssl ];
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "amd-debug-tools";
|
||||
version = "0.2.22";
|
||||
version = "0.2.20";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.kernel.org/pub/scm/linux/kernel/git/superm1/amd-debug-tools.git";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-k1BRhfaoPGUi4S1njE1qYjvd4fO0Pkzl0iTy8Tkn0tk=";
|
||||
hash = "sha256-JDacCakZC+4N4IDAODWLSuensAtFArl052I4weK/zJQ=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
@@ -55,7 +55,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
|
||||
meta = {
|
||||
description = "Debug tools for AMD systems";
|
||||
homepage = "https://git.kernel.org/pub/scm/linux/kernel/git/superm1/amd-debug-tools.git";
|
||||
homepage = "https://git.kernel.org/pub/scm/linux/kernel/git/superm1/amd-debug-tools.git/";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ samuela ];
|
||||
platforms = lib.platforms.linux;
|
||||
|
||||
@@ -57,7 +57,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
mainProgram = "ansible-doctor";
|
||||
homepage = "https://github.com/thegeeklab/ansible-doctor";
|
||||
changelog = "https://github.com/thegeeklab/ansible-doctor/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.gpl3Only;
|
||||
license = lib.licenses.lgpl3Only;
|
||||
maintainers = with lib.maintainers; [ tboerger ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -45,21 +45,21 @@ let
|
||||
sources = {
|
||||
x86_64-linux = {
|
||||
platform = "linux-x64";
|
||||
hash = "sha256-OmdXBLmzowcOBsDVDTUzBDr1RSHNFcZUlOnNwr8YlmQ=";
|
||||
hash = "sha256-n5y9LbnhlvZW2fTK97+Zr3Vukzb3BBIiCvnzlmm2kiI=";
|
||||
};
|
||||
aarch64-linux = {
|
||||
platform = "linux-arm";
|
||||
hash = "sha256-hJvCU8WHceycmlL4iPBgfK1cO0NbgkHu+LKGnwYS9gc=";
|
||||
hash = "sha256-7B7CjowAT3IMWrhznTJJxdA77VRqv+2iwXIUHmW6rfA=";
|
||||
};
|
||||
aarch64-darwin = {
|
||||
platform = "darwin-arm";
|
||||
hash = "sha256-e/FUGd2uEPry6dBwTizs/e8SqoWPGbI9k2i+t4IDsLc=";
|
||||
hash = "sha256-tiuU0lMo2ttIgWpgUq2lX3luyLNdVndC+GI85cdSsBo=";
|
||||
};
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "antigravity-hub";
|
||||
version = "2.29.0";
|
||||
version = "2.25.0";
|
||||
|
||||
src =
|
||||
let
|
||||
@@ -183,7 +183,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
passthru = {
|
||||
# Download URLs embed a build ID next to the version, e.g. `2.12.2-6298742303883264`.
|
||||
buildId = "5723181030440960";
|
||||
buildId = "6535192714805248";
|
||||
updateScript = ./update.sh;
|
||||
};
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ buildGoModule (finalAttrs: {
|
||||
|
||||
# Use only versions specified in anytype-ts middleware.version file:
|
||||
# https://github.com/anyproto/anytype-ts/blob/v<anytype-ts-version>/middleware.version
|
||||
version = "0.51.7";
|
||||
version = "0.51.5";
|
||||
|
||||
# Update only together with 'anytype' package.
|
||||
# nixpkgs-update: no auto update
|
||||
@@ -33,10 +33,10 @@ buildGoModule (finalAttrs: {
|
||||
owner = "anyproto";
|
||||
repo = "anytype-heart";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-r/V5L1RswCq/llka8u08ciqENasI08dWfnX8j4PeV3c=";
|
||||
hash = "sha256-RVtUquNuNm4tPoOEMagBSFN+kF6RNkBraVkjujdGfsE=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-57Mz/NZQPX70KxmEnV0xiAhldOxf9AjFbGYSVZAdGvs=";
|
||||
vendorHash = "sha256-I9F1PKjVYcAqTw+g1X9ff3EzG/79j93m7JktqUJutXU=";
|
||||
|
||||
subPackages = [ "cmd/grpcserver" ];
|
||||
tags = [
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "anytype";
|
||||
version = "0.57.7";
|
||||
version = "0.57.4";
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
@@ -32,14 +32,14 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
owner = "anyproto";
|
||||
repo = "anytype-ts";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-0sxk2N1Tn944Tsw3b9d9P8tK3Tr+ZNNCLcTYI+uOAHg=";
|
||||
hash = "sha256-dEDHydI+KeCV5oYKYddlOYcs4z62zWkGw37S8MNwASI=";
|
||||
};
|
||||
|
||||
locales = fetchFromGitHub {
|
||||
owner = "anyproto";
|
||||
repo = "l10n-anytype-ts";
|
||||
rev = "76ca893d472dae5cc4e30d3dd8d9306a775900ce";
|
||||
hash = "sha256-BLYH+FBgPGA5AwiX2cQ1pDb79JG814Asu6s1U3qW6Ig=";
|
||||
rev = "611852b1a883f0b980efc674dc0df5fdfb2dbb7d";
|
||||
hash = "sha256-kxRkwrGUdv97XOo1XvDITaQOqYKV1ZkHsJRt3/VXJ4A=";
|
||||
};
|
||||
|
||||
node_modules = stdenvNoCC.mkDerivation {
|
||||
@@ -87,7 +87,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
|
||||
dontFixup = true;
|
||||
|
||||
outputHash = "sha256-Uj5BgYEJ/NTkbc18BlG4SzX11B4zbktm+MP4h6oNTUQ=";
|
||||
outputHash = "sha256-ryGxMV8Rr1EbLJuIJf9ZXYj5jsIXueF53DS315DY/yQ=";
|
||||
outputHashMode = "recursive";
|
||||
};
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
fetchFromGitHub,
|
||||
zig_0_17,
|
||||
nix-update-script,
|
||||
anyzigExe ? "zig", # "zig" or "zls"
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -12,8 +11,8 @@ let
|
||||
in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "any${anyzigExe}";
|
||||
version = "2026_11_03";
|
||||
pname = "anyzig";
|
||||
version = "2026_10_23";
|
||||
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
@@ -22,14 +21,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "marler8997";
|
||||
repo = "anyzig";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ripM/SMZNvfRcQyq5hM+kcQH3yQik1WVmACAWhOK/eE=";
|
||||
hash = "sha256-aB3XGcyCQStxY2KDFxhcfmG5EzaBCBQ1AzkMPmRQ39s=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ zig ];
|
||||
|
||||
zigDeps = zig.fetchDeps {
|
||||
inherit (finalAttrs) version src;
|
||||
pname = "anyzig";
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-UHKvzdYb7akR87WucYdCa/hlfo+KQxV8BSug7BbIkHk=";
|
||||
};
|
||||
|
||||
@@ -37,22 +35,14 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
ln -s ${finalAttrs.zigDeps} "$ZIG_GLOBAL_CACHE_DIR/p"
|
||||
'';
|
||||
|
||||
zigBuildFlags = lib.optionals (anyzigExe != "zig") [ "install-${anyzigExe}" ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dt $out/bin zig-out/bin/${anyzigExe}
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Universal ${anyzigExe} executable that lets you run any version of ${anyzigExe}";
|
||||
description = "Universal zig executable that lets you run any version of zig";
|
||||
homepage = "https://github.com/marler8997/anyzig";
|
||||
changelog = "https://github.com/marler8997/anyzig/releases/tag/${finalAttrs.src.tag}";
|
||||
changelog = "https://github.com/marler8997/anyzig/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ defelo ];
|
||||
mainProgram = anyzigExe;
|
||||
mainProgram = "zig";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
{ anyzig }: anyzig.override { anyzigExe = "zls"; }
|
||||
@@ -23,11 +23,11 @@ stdenvNoCC.mkDerivation (
|
||||
sources = {
|
||||
aarch64-darwin = {
|
||||
name = "Aptakube_${finalAttrs.version}_universal.dmg";
|
||||
hash = "sha256-I/rK8PH6rwi3er65tpmEBwUvoOrH7wU9trzxDu/KAVM=";
|
||||
hash = "sha256-ev58zJCqORu8jSPebBaa7HDcwXs+gpoJi3+194/1ZII=";
|
||||
};
|
||||
x86_64-linux = {
|
||||
name = "aptakube_${finalAttrs.version}_amd64.deb";
|
||||
hash = "sha256-roM0MJsqazteva6/VuDXMXKfJt/f5hOBmt9T6hW1bRY=";
|
||||
hash = "sha256-oBQ5yZvmsbvD0EXMgfPUDANnkY3ixx9FYY4Qg+oi8r8=";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -42,7 +42,7 @@ stdenvNoCC.mkDerivation (
|
||||
in
|
||||
{
|
||||
pname = "aptakube";
|
||||
version = "1.22.1";
|
||||
version = "1.21.4";
|
||||
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "argo-rollouts";
|
||||
version = "1.10.2";
|
||||
version = "1.10.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "argoproj";
|
||||
repo = "argo-rollouts";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-UUpJFkEBg+Ue8+i7ygd82Jl5ILB6bh7OTtEZw/T2XA8=";
|
||||
sha256 = "sha256-AC1a6tMxZBvwb/uofiJ99q72wI1VmbYr3HSJBsfNXK4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-UccmVVb640CnhmByMc/pB+RyYoDdgBX88U3zhcQ/jpg=";
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "arity";
|
||||
version = "0.29.0";
|
||||
version = "0.26.0";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
@@ -17,10 +17,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
owner = "jolars";
|
||||
repo = "arity";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-RqjrMHNRyeE7OYCi4Yrbg6yUXse7/O3hrfF8ssoB1V4=";
|
||||
hash = "sha256-0hyt5/qvrqm8D+h5DfK4v98xYm9Ks47xd7AJHu/Jlrg=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-ob6LcatC8xLUX+eQO1lqRTCBssQlEJrxGS1cqTB5j6A=";
|
||||
cargoHash = "sha256-CDU+2phtEKI098YfKVxUPAvN1/FxcW64ORlKbIEqSEo=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "arti";
|
||||
version = "2.8.0";
|
||||
version = "2.7.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.torproject.org";
|
||||
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
owner = "core";
|
||||
repo = "arti";
|
||||
tag = "arti-v${finalAttrs.version}";
|
||||
hash = "sha256-InCAlqPG2p5q049aiPgMZu32LWZQbaqd06amnxrKcEo=";
|
||||
hash = "sha256-28s2BnesadPGm1gQDxzIqSgGaUd8ZgoTpKK3WXBRU9Q=";
|
||||
};
|
||||
|
||||
# Working around a bug in cargo that appears with cargo-auditable, see
|
||||
@@ -31,13 +31,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
--replace-fail '"http"' '"dep:http"' \
|
||||
--replace-fail '"tokio-util"' '"dep:tokio-util"' \
|
||||
--replace-fail '"opentelemetry-appender-tracing",' ""
|
||||
|
||||
substituteInPlace crates/equix/Cargo.toml \
|
||||
--replace-fail '"dep:visibility"' '"visibility"'
|
||||
'';
|
||||
|
||||
buildAndTestSubdir = "crates/arti";
|
||||
cargoHash = "sha256-grgIqU1gw1UqeGgR4aR7cAOxBW91F12bHMgOj4pgLcY=";
|
||||
cargoHash = "sha256-g+t5X1t0koUzqoHpY8+lncqRobdDuZggXtD3HRk9ryE=";
|
||||
|
||||
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ];
|
||||
|
||||
|
||||
@@ -47,13 +47,13 @@ in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "astc-encoder";
|
||||
version = "5.7.1";
|
||||
version = "5.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ARM-software";
|
||||
repo = "astc-encoder";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-Pf2See1A+a65pMTimRjiEz3V0Sy4t2fHUhiFqyJfu08=";
|
||||
hash = "sha256-g/XuCBs07G8Tpod6be8lQ5A8Jh52JUzrstrToAgT2ag=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -5,12 +5,11 @@
|
||||
pkgsCross,
|
||||
meson,
|
||||
ninja,
|
||||
codecs ? [ "all_free" ],
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "avd-fw";
|
||||
version = "0.2";
|
||||
version = "0.1";
|
||||
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
@@ -19,7 +18,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
owner = "AsahiLinux";
|
||||
repo = "avd-fw";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ib8vn/PbBNv3BWPuWmRZ+dXEcPuJ21Wl+cynf0WPySc=";
|
||||
hash = "sha256-cq/gOgmbCg5IX0GSiS7Z5lBhpursB1Num8LSANw5fpI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -28,14 +27,10 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
meson
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
meson rewrite kwargs set project / version '${finalAttrs.version}'
|
||||
'';
|
||||
|
||||
mesonBuildType = "release";
|
||||
mesonFlags = [
|
||||
"--cross-file=arm-none-eabi-gcc.ini"
|
||||
(lib.mesonOption "video-codecs" (lib.concatStringsSep "," codecs))
|
||||
"--buildtype"
|
||||
"release"
|
||||
];
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "avisynthplus";
|
||||
version = "3.7.6";
|
||||
version = "3.7.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AviSynth";
|
||||
repo = "AviSynthPlus";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-hIJW5eBb9ZbRQEJXh2LoMzfgQCRh0CKNeIwiP3qjSM0=";
|
||||
hash = "sha256-RkEZWsAKZABtl+SbRLCjMqyQoi9ainbaI9hWlpO6Fwo=";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
diff --git a/src/barman/command_wrappers.py b/src/barman/command_wrappers.py
|
||||
index 455f05d1..3d1d85b9 100644
|
||||
--- a/src/barman/command_wrappers.py
|
||||
+++ b/src/barman/command_wrappers.py
|
||||
@@ -1415,7 +1415,7 @@ class BarmanSubProcess(object):
|
||||
# * be sure to run it with the right python interpreter
|
||||
# * pass the current configuration file with -c
|
||||
# * set it quiet with -q
|
||||
- self.command = [sys.executable, command, "-c", config, "-q", subcommand]
|
||||
+ self.command = [command, "-c", config, "-q", subcommand]
|
||||
self.keep_descriptors = keep_descriptors
|
||||
# Handle args for the sub-command (like the server name)
|
||||
if args:
|
||||
diff --git a/tests/test_command_wrappers.py b/tests/test_command_wrappers.py
|
||||
index 22fcef18..d3ba693f 100644
|
||||
--- a/tests/test_command_wrappers.py
|
||||
+++ b/tests/test_command_wrappers.py
|
||||
@@ -2282,7 +2282,6 @@ class TestBarmanSubProcess(object):
|
||||
subcommand="fake-cmd", config="fake_conf"
|
||||
)
|
||||
assert subprocess.command == [
|
||||
- sys.executable,
|
||||
sys.argv[0],
|
||||
"-c",
|
||||
"fake_conf",
|
||||
@@ -2307,7 +2306,6 @@ class TestBarmanSubProcess(object):
|
||||
args=["a", "b"],
|
||||
)
|
||||
assert subprocess.command == [
|
||||
- sys.executable,
|
||||
"path/to/barman",
|
||||
"-c",
|
||||
"fake_conf",
|
||||
@@ -2329,7 +2327,6 @@ class TestBarmanSubProcess(object):
|
||||
subprocess.execute()
|
||||
|
||||
command = [
|
||||
- sys.executable,
|
||||
"path/to/barman",
|
||||
"-c",
|
||||
"fake_conf",
|
||||
@@ -1,57 +0,0 @@
|
||||
diff --git a/src/barman/fs.py b/src/barman/fs.py
|
||||
index 3870a342..955d6eae 100644
|
||||
--- a/src/barman/fs.py
|
||||
+++ b/src/barman/fs.py
|
||||
@@ -17,6 +17,7 @@
|
||||
# along with Barman. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import logging
|
||||
+import os
|
||||
import re
|
||||
import shutil
|
||||
import sys
|
||||
@@ -163,26 +164,7 @@ class UnixLocalCommand(object):
|
||||
"""
|
||||
if not self.exists(path):
|
||||
raise FsOperationFailed("Following path does not exist: %s" % path)
|
||||
- args = ["-c", "%a", path]
|
||||
- if self.is_osx():
|
||||
- print("is osx")
|
||||
- args = ["-f", "%Lp", path]
|
||||
- cmd_ret = self.cmd("stat", args=args)
|
||||
- if cmd_ret != 0:
|
||||
- raise FsOperationFailed(
|
||||
- "Failed to get file mode for %s: %s" % (path, self.internal_cmd.err)
|
||||
- )
|
||||
- return self.internal_cmd.out.strip()
|
||||
-
|
||||
- def is_osx(self):
|
||||
- """
|
||||
- Identify whether is is a Linux or Darwin system
|
||||
- :return: True is it is osx os
|
||||
- """
|
||||
- self.cmd("uname", args=["-s"])
|
||||
- if self.internal_cmd.out.strip() == "Darwin":
|
||||
- return True
|
||||
- return False
|
||||
+ return str(oct(os.stat(path).st_mode)[-3:])
|
||||
|
||||
def validate_file_mode(self, path, mode):
|
||||
"""
|
||||
@@ -434,15 +416,7 @@ class UnixLocalCommand(object):
|
||||
"""
|
||||
if not self.exists(path):
|
||||
raise FsOperationFailed("Following path does not exist: %s" % path)
|
||||
- args = ["-c", "%d", path]
|
||||
- if self.is_osx():
|
||||
- args = ["-f", "%d", path]
|
||||
- cmd_ret = self.cmd("stat", args=args)
|
||||
- if cmd_ret != 0:
|
||||
- raise FsOperationFailed(
|
||||
- "Failed to get file mode for %s: %s" % (path, self.internal_cmd.err)
|
||||
- )
|
||||
- return self.internal_cmd.out.strip()
|
||||
+ return str(os.stat(path).st_dev)
|
||||
|
||||
|
||||
class UnixRemoteCommand(UnixLocalCommand):
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
file,
|
||||
python3Packages,
|
||||
@@ -7,32 +8,32 @@
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "barman";
|
||||
version = "3.20.1";
|
||||
version = "3.19.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EnterpriseDB";
|
||||
repo = "barman";
|
||||
tag = "release/${finalAttrs.version}";
|
||||
hash = "sha256-wNagSqTuDHGnqUW/DWQ42juse5F+WPsvevB0OLhH06U=";
|
||||
hash = "sha256-7K7ibg2/hr5wBzGR8cW5FZNtPPFEBA7xPwmOl2c1fOU=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./01-unwrap-subprocess.patch
|
||||
# 20260917: known issue in upstream (https://github.com/EnterpriseDB/barman/issues/753) since 2023. Temporary patch until redesign implemented or this patch is upstreamed (https://github.com/EnterpriseDB/barman/pull/1223)
|
||||
./02-py-stdlib-stat.patch
|
||||
./unwrap-subprocess.patch
|
||||
];
|
||||
|
||||
# https://github.com/EnterpriseDB/barman/blob/release/3.14.1/barman/encryption.py#L214
|
||||
postPatch = ''
|
||||
substituteInPlace src/barman/encryption.py \
|
||||
substituteInPlace barman/encryption.py \
|
||||
--replace-fail '"file"' '"${lib.getExe file}"'
|
||||
'';
|
||||
|
||||
build-system = with python3Packages; [
|
||||
uv-build
|
||||
distutils
|
||||
setuptools
|
||||
];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
@@ -60,9 +61,14 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# 20260917: AssertionError: assert 'usage: __mai...ilog string\n' == 'usage: pytho...ilog string\n'
|
||||
# https://github.com/EnterpriseDB/barman/blob/release/3.20.0/tests/test_cli.py#L2893
|
||||
# Assertion error
|
||||
"test_help_output"
|
||||
"test_exits_on_unsupported_target"
|
||||
"test_resolve_mounted_volume_failure"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
# FsOperationFailed
|
||||
"test_get_file_mode"
|
||||
];
|
||||
|
||||
passthru = {
|
||||
@@ -76,43 +82,11 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
|
||||
meta = {
|
||||
description = "Backup and Recovery Manager for PostgreSQL";
|
||||
longDescription = ''
|
||||
**Barman** (Backup and Recovery Manager) is an open-source administration
|
||||
tool for disaster recovery of PostgreSQL servers written in Python.
|
||||
|
||||
The main features and goals of Barman are:
|
||||
|
||||
* Full hot physical backup of a PostgreSQL server
|
||||
* Point-In-Time-Recovery (PITR)
|
||||
* Management of multiple PostgreSQL servers
|
||||
* Remote backup via rsync/SSH or `pg_basebackup` (including a 9.2+ standby)
|
||||
* Support for both local and remote (via SSH) recovery
|
||||
* Support for both WAL archiving and streaming
|
||||
* Support for synchronous WAL streaming (“zero data loss”, RPO=0)
|
||||
* Incremental backup and recovery
|
||||
* Incremental backup and recovery
|
||||
* Parallel backup and recovery
|
||||
* Hub of WAL files for enhanced integration with standby servers
|
||||
* Management of retention policies for backups and WAL files
|
||||
* Server status and information
|
||||
* Compression of WAL files (bzip2, gzip or custom)
|
||||
* Management of base backups and WAL files through a catalogue
|
||||
* A simple INI configuration file
|
||||
* Totally written in Python
|
||||
* Relocation of PGDATA and tablespaces at recovery time
|
||||
* General and disk usage information of backups
|
||||
* Server diagnostics for backup
|
||||
* Integration with standard archiving tools (e.g. tar)
|
||||
* Pre/Post backup hook scripts
|
||||
* Local storage of metadata
|
||||
'';
|
||||
homepage = "https://pgbarman.org";
|
||||
homepage = "https://www.pgbarman.org/";
|
||||
changelog = "https://github.com/EnterpriseDB/barman/blob/${finalAttrs.src.tag}/RELNOTES.md";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [
|
||||
debtquity
|
||||
];
|
||||
mainProgram = "barman";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = [ ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
})
|
||||
|
||||
30
pkgs/by-name/ba/barman/unwrap-subprocess.patch
Normal file
30
pkgs/by-name/ba/barman/unwrap-subprocess.patch
Normal file
@@ -0,0 +1,30 @@
|
||||
--- a/barman/command_wrappers.py
|
||||
+++ b/barman/command_wrappers.py
|
||||
@@ -1144,5 +1144,5 @@
|
||||
# * pass the current configuration file with -c
|
||||
# * set it quiet with -q
|
||||
- self.command = [sys.executable, command, "-c", config, "-q", subcommand]
|
||||
+ self.command = [command, "-c", config, "-q", subcommand]
|
||||
self.keep_descriptors = keep_descriptors
|
||||
# Handle args for the sub-command (like the server name)
|
||||
|
||||
--- a/tests/test_command_wrappers.py
|
||||
+++ a/tests/test_command_wrappers.py
|
||||
@@ -1595,5 +1595,4 @@
|
||||
)
|
||||
assert subprocess.command == [
|
||||
- sys.executable,
|
||||
sys.argv[0],
|
||||
"-c",
|
||||
@@ -1622,5 +1621,4 @@
|
||||
)
|
||||
assert subprocess.command == [
|
||||
- sys.executable,
|
||||
"path/to/barman",
|
||||
"-c",
|
||||
@@ -1644,5 +1642,4 @@
|
||||
|
||||
command = [
|
||||
- sys.executable,
|
||||
"path/to/barman",
|
||||
"-c",
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "base91";
|
||||
version = "0.3.3";
|
||||
version = "0.3.2";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
@@ -18,13 +18,13 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
owner = "douzebis";
|
||||
repo = "base91";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-6rZ2eenDxQcAAi6CA8EejVwqQxlqlEsniBwjBRZytDw=";
|
||||
hash = "sha256-1v/kvv+IUoYmrs6MrBmnA4UYIRjN4KICW/Q0zaiiGq0=";
|
||||
};
|
||||
|
||||
cargoRoot = "rust";
|
||||
buildAndTestSubdir = "rust/base91-cli";
|
||||
|
||||
cargoHash = "sha256-ytaZPSdttJaiK9aPPJ/CiFwxWJp61VYoL3e/1K+3dpE=";
|
||||
cargoHash = "sha256-5ubqTQQz0OBZoe3Ql/e1H5S1cL1EhYVabcZ9FkfQzao=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
||||
@@ -57,6 +57,8 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
|
||||
preInstall = ''
|
||||
# remove unnecessary files
|
||||
rm node_modules/.modules.yaml
|
||||
# `pnpm prune` doesn't support monorepos, and with pnpm 12 it also tries
|
||||
# to verify the lockfile against supply-chain policies over the network.
|
||||
# Reinstall production dependencies only instead, as `pnpm prune --help`
|
||||
@@ -72,6 +74,9 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
find -type f \( -name "*.ts" -o -name "*.map" \) -exec rm -rf {} +
|
||||
# https://github.com/pnpm/pnpm/issues/3645
|
||||
find node_modules server/node_modules -xtype l -delete
|
||||
|
||||
# remove non-deterministic files
|
||||
rm node_modules/.modules.yaml
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -11,16 +11,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "biome";
|
||||
version = "2.6.5";
|
||||
version = "2.6.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "biomejs";
|
||||
repo = "biome";
|
||||
rev = "@biomejs/biome@${finalAttrs.version}";
|
||||
hash = "sha256-ogWvhY1SRYIu1llSGWtuGSVKDG6Vhs6YmLO6aembjvw=";
|
||||
hash = "sha256-/oaXa8UrmKFM431oWMQj1acCgwGwYBn9eTqzlr4xwYs=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-8d9he9/GMsGvoZnTexpMzsuEczgwOVB/3OmvU8Pq+Us=";
|
||||
cargoHash = "sha256-U7sufX7qaMZLkq64ct8rgD8O7p5JokCOhnImhzg77GY=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
||||
@@ -215,6 +215,5 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.unix;
|
||||
mainProgram = if withGui then "bitcoin-qt" else "bitcoind";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -2,37 +2,24 @@
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
|
||||
pname = "bkt";
|
||||
version = "0.8.2";
|
||||
version = "0.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dimo414";
|
||||
repo = "bkt";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-qb7uRvCAXCayDIg8yQfF/Yxe0pNvR3giCQYmMIur2rM=";
|
||||
sha256 = "sha256-XQK7oZfutqCvFoGzMH5G5zoGvqB8YaXSdrwjS/SVTNU=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-locf3k0jIT9RNQS9yCUtOpj4oKo5pOBU3CEYAJDbaPU=";
|
||||
|
||||
checkFlags = [
|
||||
# Requires the use of "sudo" cmd which nix sandbox does not have
|
||||
"--skip=cli::cache_dirs_multi_user"
|
||||
];
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
cargoHash = "sha256-4CY2A6mPTfGhqUh+nNg6eaTIVwA9ZtgH5jHQDGHnK4c=";
|
||||
|
||||
meta = {
|
||||
description = "Subprocess caching utility";
|
||||
homepage = "https://github.com/dimo414/bkt";
|
||||
changelog = "https://github.com/dimo414/bkt/releases/tag/${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.mangoiv ];
|
||||
mainProgram = "bkt";
|
||||
|
||||
@@ -119,12 +119,7 @@ buildDotnetModule rec {
|
||||
pcre2
|
||||
xz
|
||||
];
|
||||
makeWrapperArgs = [
|
||||
"--prefix"
|
||||
"LD_LIBRARY_PATH"
|
||||
":"
|
||||
libPath
|
||||
];
|
||||
makeWrapperArgs = [ "--prefix LD_LIBRARY_PATH : ${libPath}" ];
|
||||
|
||||
postInstall =
|
||||
lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
|
||||
@@ -28,10 +28,7 @@ buildDotnetModule rec {
|
||||
executables = [ "BoogieDriver" ];
|
||||
|
||||
makeWrapperArgs = [
|
||||
"--prefix"
|
||||
"PATH"
|
||||
":"
|
||||
"${z3}/bin"
|
||||
"--prefix PATH : ${z3}/bin"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
|
||||
@@ -10,16 +10,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } (finalAttrs: {
|
||||
pname = "bpftop";
|
||||
version = "0.9.1";
|
||||
version = "0.9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jfernandez";
|
||||
repo = "bpftop";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-nflwQhUIOD5GNWvFKt9aU6j9xkKhtzub5IsDGQvZkTo=";
|
||||
hash = "sha256-QukcBq80tASPSHRg1yRouYiZqvca+ipp6RGzXqP2CwA=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-kh/ZS1P2o7AGPkjFpqyJCeLj91H13SNPFcTBOFHvoZ8=";
|
||||
cargoHash = "sha256-33VamoVq8O4cgdweWRaDqo5ey2lbLAHoPQVPgmyQwh0=";
|
||||
|
||||
buildInputs = [
|
||||
elfutils
|
||||
|
||||
@@ -41,6 +41,5 @@ buildDotnetModule rec {
|
||||
];
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
mainProgram = "btcpayserver";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
description = "Simple and adorable sysinfo utility written in Rust";
|
||||
homepage = "https://github.com/devraza/bunbun";
|
||||
changelog = "https://github.com/devraza/bunbun/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.mpl20;
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ GaetanLepage ];
|
||||
mainProgram = "bunbun";
|
||||
};
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "camunda-modeler";
|
||||
version = "5.53.0";
|
||||
version = "5.52.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/camunda/camunda-modeler/releases/download/v${version}/camunda-modeler-${version}-linux-x64.tar.gz";
|
||||
hash = "sha256-CIGrxGd2uL0eryLePKs7TmnaoUvc4LMJqUnuCuFhsd0=";
|
||||
hash = "sha256-I5xjqaYCJZbWQW23gxpubwmADbVZPK1UYx7w/q9+Iwg=";
|
||||
};
|
||||
sourceRoot = "camunda-modeler-${version}-linux-x64";
|
||||
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "candy-icons";
|
||||
version = "0-unstable-2026-10-26";
|
||||
version = "0-unstable-2026-10-19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EliverLara";
|
||||
repo = "candy-icons";
|
||||
rev = "750fe2ca7909a721179ec34336042b15808d8ab9";
|
||||
hash = "sha256-aXskjAxfvP9P3WZo7YGsSg0iGXVIAQfHXLEi/EgyRJw=";
|
||||
rev = "8d21022f3b77d6a3b44f9a4a1ed26d6a974c41f6";
|
||||
hash = "sha256-OIVYHhSZV965eJ4mmCqzW4X8/t7aGDVjXRP1Y/wP6ms=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gtk3 ];
|
||||
|
||||
@@ -10,8 +10,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cargo-about";
|
||||
version = "0.9.0";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EmbarkStudios";
|
||||
repo = "cargo-about";
|
||||
|
||||
@@ -14,16 +14,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cargo-dist";
|
||||
version = "0.34.0";
|
||||
version = "0.33.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "axodotdev";
|
||||
repo = "cargo-dist";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-u0Ux0V6Jdeq/1uwSu9+8sm/KGAg3RbWQph/UdL2IMZU=";
|
||||
hash = "sha256-x42riJdBbh2BgoT9A/lqapXx8WJWves0jUHTcuMlk30=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-sOLAyXEOGGnKNeEtPbjYjuJK/d71nluj2MsHNIuuLvQ=";
|
||||
cargoHash = "sha256-g5g6sOxHZCB8unb1+AD0r2c8M2zGAl0tf5y5R06OJ+o=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -10,16 +10,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cargo-flamegraph";
|
||||
version = "0.6.15";
|
||||
version = "0.6.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "flamegraph-rs";
|
||||
repo = "flamegraph";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-CNWX1q751yqbrpmNGIfB4/jZk8zMfd0RnkH7GEfo4JA=";
|
||||
sha256 = "sha256-tjphY9qZaKkqrbwm8lszyyIBpaKZx644LudBq81qngU=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-yPHWJGGM3EDuoSY1ZZ3+ocLK3RZ97BMbffmOu2bahBM=";
|
||||
cargoHash = "sha256-mSItpfrGRFL9L3Rlqsvx+FdYyJL8rcWWS8Abyixto7c=";
|
||||
|
||||
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ makeWrapper ];
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ stdenvNoCC.mkDerivation {
|
||||
meta = {
|
||||
description = "Soothing pastel theme for SDDM based on corners theme";
|
||||
homepage = "https://github.com/khaneliman/sddm-catppuccin-corners";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ khaneliman ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cgreen";
|
||||
version = "1.7.0";
|
||||
version = "1.6.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cgreen-devs";
|
||||
repo = "cgreen";
|
||||
rev = finalAttrs.version;
|
||||
sha256 = "sha256-YkHhEHr+ZSa2nlLtnTVB5dAdwtGd03mtijiqnnc1914=";
|
||||
sha256 = "sha256-/D06k4c6xu9bL8z/DGnOLvgzOstTeR9PxW/J6a42rZs=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
passthru.updateScript = gitUpdater {
|
||||
rev-prefix = "v";
|
||||
ignoredVersions = "beta|^7\\.";
|
||||
ignoredVersions = "beta";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
meta = {
|
||||
description = "Wayland clipboard manager that will make you clap";
|
||||
homepage = "https://github.com/bjesus/clapboard";
|
||||
license = lib.licenses.gpl3Only;
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
bjesus
|
||||
];
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "claude-agent-acp";
|
||||
version = "0.100.0";
|
||||
version = "0.99.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "agentclientprotocol";
|
||||
repo = "claude-agent-acp";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-D0CWA9x/K6b4yMT90tmYuI8UQed2ZC0FfMtPClzVrck=";
|
||||
hash = "sha256-Xj9QXZrqWe5njHlnoudfW0areQDfzk0VXx3psGukrxY=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-7/RAN3CPe/Fw+ovL6emXH8pTJ5r2q2w8FbgwVNqWekw=";
|
||||
npmDepsHash = "sha256-g5M1nFzdDdHhv0cTN6YtCMGB05WagnwTv52hD9f6TH4=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
|
||||
@@ -29,22 +29,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "clightning";
|
||||
version = "26.06.10";
|
||||
version = "26.06.9";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ElementsProject/lightning/releases/download/v${finalAttrs.version}/clightning-v${finalAttrs.version}.zip";
|
||||
hash = "sha256-SRRWHm0QjazKAYPX5rOxwiTFgFl93Ls5cpnvWw/MMjA=";
|
||||
hash = "sha256-rDextsQbbGDPBt2M11APH6sEQRzy87wSaDjYyvq0U40=";
|
||||
};
|
||||
|
||||
# Release archives can contain future-dated files (v26.06.10 used
|
||||
# 2026-11-05 00:00 for every file). Until that time, a future-dated Makefile
|
||||
# causes make to loop on ./configure --reconfigure without compiling.
|
||||
# Normalize mtimes to avoid this in future releases and backports;
|
||||
# a build after the archive's timestamp would hide the issue.
|
||||
postUnpack = ''
|
||||
find "$sourceRoot" -exec touch -h -d @1 {} +
|
||||
'';
|
||||
|
||||
# when building on darwin we need cctools to provide the correct libtool
|
||||
# as libwally-core detects the host as darwin and tries to add the -static
|
||||
# option to libtool, also we have to add the modified gsed package.
|
||||
@@ -94,8 +85,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
''
|
||||
else
|
||||
''
|
||||
substituteInPlace external/libwally-core/tools/autogen.sh --replace-fail gsed sed && \
|
||||
substituteInPlace external/libwally-core/configure.ac --replace-fail gsed sed
|
||||
substituteInPlace external/libwally-core/tools/autogen.sh --replace gsed sed && \
|
||||
substituteInPlace external/libwally-core/configure.ac --replace gsed sed
|
||||
''
|
||||
);
|
||||
|
||||
@@ -129,6 +120,5 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
mainProgram = "lightningd";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "clingo";
|
||||
version = "5.8.3";
|
||||
version = "5.8.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "potassco";
|
||||
repo = "clingo";
|
||||
tag = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-TaFCuzsygRZOWrSLNGERgeM15Uc5Uu03YQEpncMv61U=";
|
||||
sha256 = "sha256-kf3KKdzO/B3xxf1zHkuGzCJzcoITksBZOShbYxZm//k=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
changelog = "https://github.com/adaszko/complgen/blob/v${finalAttrs.version}/CHANGELOG.md";
|
||||
description = "Generate {bash,fish,zsh} completions from a single EBNF-like grammar";
|
||||
homepage = "https://github.com/adaszko/complgen";
|
||||
license = lib.licenses.gpl3Only;
|
||||
license = lib.licenses.asl20;
|
||||
mainProgram = "complgen";
|
||||
maintainers = with lib.maintainers; [ hythera ];
|
||||
};
|
||||
|
||||
@@ -53,6 +53,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
find -type f \( -name "*.ts" -o -name "*.map" \) -exec rm -rf {} +
|
||||
# https://github.com/pnpm/pnpm/issues/3645
|
||||
find node_modules -xtype l -delete
|
||||
|
||||
# remove non-deterministic files
|
||||
rm node_modules/{.modules.yaml,.pnpm-workspace-state-v1.json}
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "confy";
|
||||
version = "0.9.2";
|
||||
version = "0.9.0";
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~fabrixxm";
|
||||
repo = "confy";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-7HO4ETyn1nJF0CapDtTSqfFeYBpYjsWKxkXyg3M6RQ4=";
|
||||
hash = "sha256-dcQ0ynEqrrGjAqQoWXtLMpvBVzpilXGpGWVNaVHp3CY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "container2wasm";
|
||||
version = "0.8.5";
|
||||
version = "0.8.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "container2wasm";
|
||||
repo = "container2wasm";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-epugPyDvvY/HypGuwlx5mds8zCsilySNLwmHJ1H0Q4k=";
|
||||
hash = "sha256-vmEof0mcvBau/eYtUj5DzzZm5QgkM3G6TsG8doLju78=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-/14U3SeZc5U1EJP6MbvOpR0wiFT7aPXKoI6OX2G4rNY=";
|
||||
vendorHash = "sha256-Lg8gvbnyEcrwDGPiHrB7NR4waB2/yqyQbZsp/pQK0jc=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cproto";
|
||||
version = "4.8a";
|
||||
version = "4.8";
|
||||
|
||||
src = fetchurl {
|
||||
urls = [
|
||||
@@ -16,7 +16,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# No version listings and apparently no versioned tarball over http(s).
|
||||
"https://invisible-island.net/archives/cproto/cproto-${finalAttrs.version}.tgz"
|
||||
];
|
||||
sha256 = "sha256-vrEh4IwNR7W9cZBxwyp37cwx3/mSqE49mlnA9+yfrdM=";
|
||||
sha256 = "sha256-DMy5NEdoLH/bTwvb++BdUqgnMx4KGaUhXSw8uFrSklg=";
|
||||
};
|
||||
|
||||
# patch made by Joe Khoobyar copied from gentoo bugs
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cpu_features";
|
||||
version = "0.11.0";
|
||||
version = "0.10.1";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -19,7 +19,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "google";
|
||||
repo = "cpu_features";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-TrC1WMLAhko57rAyDCiAC/IJ0unAqVhyjkh7gKibyi4=";
|
||||
hash = "sha256-IBJc1sHHh4G3oTzQm1RAHHahsEECC+BDl14DHJ8M1Ys=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -80,13 +80,12 @@ buildDotnetModule rec {
|
||||
|
||||
# Help Dafny find z3 and dotnet SDK (needed for dafny run)
|
||||
makeWrapperArgs = [
|
||||
"--prefix"
|
||||
"PATH"
|
||||
":"
|
||||
(lib.makeBinPath [
|
||||
z3
|
||||
dotnet-sdk
|
||||
])
|
||||
"--prefix PATH : ${
|
||||
lib.makeBinPath [
|
||||
z3
|
||||
dotnet-sdk
|
||||
]
|
||||
}"
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
|
||||
@@ -7,17 +7,17 @@
|
||||
|
||||
php.buildComposerProject2 (finalAttrs: {
|
||||
pname = "davis";
|
||||
version = "5.6.3";
|
||||
version = "5.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tchapi";
|
||||
repo = "davis";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-EoonK/8pGuFOvjDWnlDxznKjbKmPZGKD9LJoSiouAZk=";
|
||||
hash = "sha256-WCAh4oa8pf37U+GNyxkkYDhg3e9qrFaEdvMjootH5es=";
|
||||
};
|
||||
|
||||
composerNoPlugins = false;
|
||||
vendorHash = "sha256-gzC2jI6kKYvI7IDiUZvXWcN4jmPXzGOInEAt8qeaLGE=";
|
||||
vendorHash = "sha256-bGptcLN1z0tWbCKh6G5vh67FHAowz3AmEHnZ6WY1EQc=";
|
||||
|
||||
postInstall = ''
|
||||
chmod -R u+w $out/share
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "deepseek-harness";
|
||||
version = "0.2.2-rc.1";
|
||||
version = "0.2.1-rc.3";
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
@@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "deepseek-ai";
|
||||
repo = "deepseek-harness";
|
||||
tag = "dsh-v${finalAttrs.version}";
|
||||
hash = "sha256-a14omiV5t2P8YeyV5fqVMGRqLQ71rF5wc6xLAW+Z2CQ=";
|
||||
hash = "sha256-jz2egrPfUQMdoZx8hzDx9ssN1Z5TXClP9CqtP3tGlJk=";
|
||||
|
||||
# Capture the commit hash at fetch time to avoid git build dependency
|
||||
leaveDotGit = true;
|
||||
@@ -48,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
inherit (finalAttrs) pname version src;
|
||||
pnpm = pnpm_11;
|
||||
fetcherVersion = 4;
|
||||
hash = "sha256-D3dDgX55coJqEY31vwxiJuSFhlJeuEa3VfpN5Ooa+IE=";
|
||||
hash = "sha256-C9Aw9AS4r7zubaEuT6mLXQ+AhhMVlTxPZRKTpzRUkcU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "defuddle";
|
||||
version = "0.19.6";
|
||||
version = "0.19.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kepano";
|
||||
repo = "defuddle";
|
||||
tag = version;
|
||||
hash = "sha256-PmtS4ryoXapMaA0HAzdBaUl6dzeGnXa0rA0VLdC/VRQ=";
|
||||
hash = "sha256-szAaa2g3BDCi3QiTYqvrCWpBzKl/jenvowA+1c2jpI0=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-Tr1GasXqqUEPMt6+fUjBatzymuaVjK49tsCw/ivtXCY=";
|
||||
npmDepsHash = "sha256-BUTCUHdQFrC0CIwXFuyTcPkdgGnJLbovh3RMc8UyJ3o=";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "delly";
|
||||
version = "2.8.1";
|
||||
version = "2.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dellytools";
|
||||
repo = "delly";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-2SuCeouRnIhn7gE+rDqAphfZKh1CvST5h0J6ojGiKXA=";
|
||||
hash = "sha256-9/nuVrqUHEK7vPtdqiqJLsb720/F4B/cIL3s1j6cWvo=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
||||
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
description = "Language server for tools and package managers";
|
||||
homepage = "https://github.com/filiptibell/deputy";
|
||||
changelog = "https://github.com/filiptibell/deputy/blob/${finalAttrs.src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
license = lib.licenses.mpl20;
|
||||
maintainers = with lib.maintainers; [ niklaskorz ];
|
||||
mainProgram = "deputy";
|
||||
};
|
||||
|
||||
@@ -64,6 +64,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
--prod
|
||||
find packages/*/dist -type f \( -name "*.d.ts" -o -name "*.map" \) -delete
|
||||
find node_modules packages/*/node_modules -xtype l -delete
|
||||
rm node_modules/.modules.yaml
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -87,7 +87,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
with the Rust language and Tokio framework.
|
||||
'';
|
||||
mainProgram = "easytier-core";
|
||||
license = lib.licenses.lgpl3Only;
|
||||
license = lib.licenses.asl20;
|
||||
platforms = with lib.platforms; unix ++ windows;
|
||||
maintainers = with lib.maintainers; [ ltrump ];
|
||||
};
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "amazon-ecs-agent";
|
||||
version = "1.108.2";
|
||||
version = "1.108.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
rev = "v${finalAttrs.version}";
|
||||
owner = "aws";
|
||||
repo = "amazon-ecs-agent";
|
||||
hash = "sha256-v1SCDx6lqP9upCEeoQHzSO7nYfV675Xh1CYfBzslyfU=";
|
||||
hash = "sha256-wj0fhq/S4iudnvdPkOro6Y9liQE5uUyaVAuBSnz1L14=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "eliza";
|
||||
version = "0-unstable-2026-10-25";
|
||||
version = "0-unstable-2026-09-19";
|
||||
src = fetchFromGitHub {
|
||||
owner = "anthay";
|
||||
repo = "ELIZA";
|
||||
rev = "30eb61bc1c36a439b344276110e4942a42b0e7a4";
|
||||
hash = "sha256-qLnV6ABc0m/QcZxlNSHS94DbDaaZfpwmfbQznJikg8c=";
|
||||
rev = "4ac38e6694526f2a5c849014d3312a20cdddf842";
|
||||
hash = "sha256-uXCO6fpf8x94fLwydB7qXTAVum1Y/IvBsxPqIQe+ELw=";
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
|
||||
@@ -39,12 +39,14 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pnpm
|
||||
];
|
||||
|
||||
# remove unnecessary files
|
||||
# remove unnecessary and non-deterministic files
|
||||
preInstall = ''
|
||||
CI=true pnpm --ignore-scripts --prod prune
|
||||
find -type f \( -name "*.ts" -o -name "*.map" \) -exec rm -rf {} +
|
||||
# https://github.com/pnpm/pnpm/issues/3645
|
||||
find node_modules -xtype l -delete
|
||||
|
||||
rm node_modules/.modules.yaml
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -35,7 +35,7 @@ buildDotnetModule (finalAttrs: {
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/BC-SECURITY/Empire-Compiler";
|
||||
license = lib.licenses.gpl3Only;
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.linux ++ [ "aarch64-darwin" ];
|
||||
description = "C# Compiler for Empire";
|
||||
maintainers = with lib.maintainers; [
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "3.5.35";
|
||||
etcdSrcHash = "sha256-WdRm0djQFxrv83BwtoT53PSniLUqT58HzqJLoPEy5ko=";
|
||||
etcdServerVendorHash = "sha256-+yQ9ylwh15mGHnPomMOUwFAfPO9EKrFBrCp6f95d3u0=";
|
||||
etcdUtlVendorHash = "sha256-6PN9PrmMEN1xltZEVJcajkRCweKPoxMRUodCgwiN5hU=";
|
||||
etcdCtlVendorHash = "sha256-DNvFzc0YRQyu4yZVEQRQq6rINGWlRwhp880K289+0bY=";
|
||||
version = "3.5.34";
|
||||
etcdSrcHash = "sha256-yiAELU14Aq1tFiUu59an5l8KzGUsUku4saUFqsSdTy0=";
|
||||
etcdServerVendorHash = "sha256-IeuoXNdKLOffPO3uVVDMccLCRH/BKENLVYiTRxEieos=";
|
||||
etcdUtlVendorHash = "sha256-+jM9JJsuB7KhAWt4P6b9olBycIXGpuDPfrSzl8rrOHo=";
|
||||
etcdCtlVendorHash = "sha256-h40HJ/GhCgYcIlVPqjRXPBY4pdbX8c5cd7Zy0kuNxpg=";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "etcd-io";
|
||||
|
||||
@@ -56,6 +56,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
rm node_modules/.modules.yaml
|
||||
CI=true pnpm prune --prod --ignore-scripts
|
||||
find -type f \( -name "*.d.ts" -o -name "*.map" \) -exec rm -rf {} +
|
||||
|
||||
# remove non-deterministic files
|
||||
rm node_modules/.modules.yaml
|
||||
'';
|
||||
|
||||
# Upstream scripts uses `pnpm run prod` which is equivalent to
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
glibc,
|
||||
gsettings-desktop-schemas,
|
||||
gst_all_1,
|
||||
gtk2,
|
||||
gtk3,
|
||||
libGL,
|
||||
libdrm,
|
||||
@@ -116,6 +117,7 @@ let
|
||||
gsettings-desktop-schemas
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gstreamer
|
||||
gtk2
|
||||
gtk3
|
||||
libdrm
|
||||
libgbm
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.318.2";
|
||||
version = "0.318.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "evcc-io";
|
||||
repo = "evcc";
|
||||
tag = version;
|
||||
hash = "sha256-b6db9WVRUQq/28kv1HJrQ6cEAyK7YKdbPQXKwQ+VHCQ=";
|
||||
hash = "sha256-UAmpv4gTY4Ohy+QC8A1iaQ2nenpQKs4ryyzlJeqIpEk=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-8738Fg/IBk+pD/4x/xWZbz3eSdAtFxGnFztyHI94VbI=";
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "fabric-ai";
|
||||
version = "1.4.564";
|
||||
version = "1.4.553";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "danielmiessler";
|
||||
repo = "fabric";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-wCy974QwIeVgB+zkG7T5DbmIH4CqQEeu7noizVTjEcs=";
|
||||
hash = "sha256-c2MorqgimTOYr2yad4XU0GwQecXJBqC/3t+N/8Q7bCM=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-f1MfTXHszYc+e050XR3I8fB0rfHxRGM0KrTHcX5H/Bg=";
|
||||
|
||||
@@ -22,13 +22,13 @@ lib.checkListOfEnum "${pname}: colorVariants" colorVariantList colorVariants
|
||||
stdenvNoCC.mkDerivation
|
||||
{
|
||||
inherit pname;
|
||||
version = "0-unstable-2026-11-01";
|
||||
version = "0-unstable-2026-10-24";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "FreshDoctor";
|
||||
repo = "FairyWren-Icons";
|
||||
rev = "bfd1885e12d39dc21ded0b154d04642e2ebb401c";
|
||||
hash = "sha256-OFMnjVi+I/l5PmTRj810HybAMX1N3uQYqNKx18bXj74=";
|
||||
rev = "86f539cdf02a41bde442d50c70a73a92e11ed007";
|
||||
hash = "sha256-WYumOno45RInh85e34wN1mAH2cC3Y9ZBFmsBgir/k0M=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
pkg-config,
|
||||
perl,
|
||||
falco-plugin-container,
|
||||
llvmPackages_19,
|
||||
clang,
|
||||
bpftools,
|
||||
libbpf,
|
||||
elfutils,
|
||||
@@ -83,12 +83,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
cmake
|
||||
pkg-config
|
||||
perl
|
||||
# modern eBPF probe: compiled with clang, skeleton generated by bpftool.
|
||||
# Not newer than 19: from clang 20 the probe has programs the verifier
|
||||
# rejects at its 1M instruction limit (dump_task, t2_sched_p_exec on 6.18
|
||||
# and 7.x, sendmmsg_x from clang 21), so falco starts slowly or not at all.
|
||||
# https://github.com/falcosecurity/libs/issues/3081
|
||||
llvmPackages_19.clang
|
||||
# modern eBPF probe: compiled with clang, skeleton generated by bpftool
|
||||
clang
|
||||
bpftools
|
||||
];
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "fastflix";
|
||||
version = "6.3.2";
|
||||
version = "6.2.1";
|
||||
pyproject = true;
|
||||
|
||||
__structuredAttrs = true;
|
||||
@@ -19,7 +19,7 @@ python3Packages.buildPythonApplication rec {
|
||||
owner = "cdgriffith";
|
||||
repo = "FastFlix";
|
||||
tag = version;
|
||||
hash = "sha256-VzqkuTc2Q8WwpvkttDo2u8Q7kpCGbjz7pNzjrr6Bny4=";
|
||||
hash = "sha256-vlMS3Grqp6Ys1++711lwRuFC4LhcyrHtU/S3MGB4riY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "fatou";
|
||||
version = "0.25.0";
|
||||
version = "0.24.0";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
@@ -17,10 +17,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
owner = "jolars";
|
||||
repo = "fatou";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-SzNNvJkUx8EESwgga+Wlb3nesY4M+lJNfs5RqfRB+fc=";
|
||||
hash = "sha256-HoVoWLoakN1oAVPAwd1JPhs9jLn0OP8FEIU+OfurNRA=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-NkMDdDidS96fJ9RHYkxea4S56swvN8SfRDWBxLGMSMg=";
|
||||
cargoHash = "sha256-Oal6RHJ+aGzvv2vXpij1kOt/r216LFaIXhGLRdtaAfs=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "faudio";
|
||||
version = "26.11";
|
||||
version = "26.05";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FNA-XNA";
|
||||
repo = "FAudio";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-EpS6f3WXrbOdBZRLgNN3CgpItdtmFaW+TIlY8Et5/vY=";
|
||||
hash = "sha256-VrY6NbmnUk6fUEa3+NukcuPRaH+RbFrT9bnN4Rnuxuk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -1,52 +1,40 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
coreutils,
|
||||
fetchFromGitHub,
|
||||
gamemode,
|
||||
gawk,
|
||||
gnugrep,
|
||||
gobject-introspection,
|
||||
gst_all_1,
|
||||
icoextract,
|
||||
lib,
|
||||
libadwaita,
|
||||
libgudev,
|
||||
libmanette,
|
||||
lsfg-vk,
|
||||
lsfgSupport ? false,
|
||||
meson,
|
||||
ninja,
|
||||
nix-update-script,
|
||||
pciutils,
|
||||
python3Packages,
|
||||
pciutils,
|
||||
umu-launcher,
|
||||
wrapGAppsHook4,
|
||||
xdg-utils,
|
||||
lsfgSupport ? false,
|
||||
withGameMode ? true,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "faugus-launcher";
|
||||
version = "2.5.7";
|
||||
version = "2.5.4";
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Faugus";
|
||||
repo = "faugus-launcher";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-lB7/X7ilnoIc27Ggr+xCL/B0Gb9fTHWJNE9ajfYPccI=";
|
||||
hash = "sha256-tDOum8u9GZsTmj1DzcByYoSkmzjAB3xOCdLfkboUClE=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace faugus-launcher \
|
||||
--replace-fail "/usr/bin/python3" "${python3Packages.python.interpreter}"
|
||||
|
||||
substituteInPlace faugus/path_manager.py \
|
||||
--replace-fail "PathManager.user_data('faugus-launcher/umu-run')" "'${lib.getExe umu-launcher}'"
|
||||
''
|
||||
+ lib.optionalString lsfgSupport ''
|
||||
substituteInPlace faugus/path_manager.py \
|
||||
--replace-fail "/usr/lib/liblsfg-vk-layer.so" "${lib.getLib lsfg-vk}/lib/liblsfg-vk-layer.so"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
gobject-introspection
|
||||
meson
|
||||
@@ -65,23 +53,8 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
gstreamer
|
||||
]);
|
||||
|
||||
# has no tests
|
||||
doCheck = false;
|
||||
|
||||
postFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
--prefix PYTHONPATH : "$program_PYTHONPATH"
|
||||
${lib.optionalString withGameMode ''
|
||||
--prefix LD_PRELOAD : libgamemode.so
|
||||
--prefix LD_LIBRARY_PATH : "${lib.getLib gamemode}/lib"
|
||||
''}
|
||||
--suffix PATH : ${lib.escapeShellArg (lib.makeBinPath finalAttrs.runtimeInputs)}
|
||||
)
|
||||
wrapGApp $out/bin/faugus-launcher
|
||||
'';
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
pefile
|
||||
dbus-python
|
||||
pillow
|
||||
psutil
|
||||
pygobject3
|
||||
@@ -89,20 +62,42 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
vdf
|
||||
];
|
||||
|
||||
dontWrapGApps = true;
|
||||
pyproject = false;
|
||||
pythonImportsCheck = [ "faugus" ];
|
||||
postPatch = ''
|
||||
substituteInPlace faugus-launcher \
|
||||
--replace-fail "/usr/bin/python3" "${python3Packages.python.interpreter}"
|
||||
|
||||
runtimeInputs = [
|
||||
coreutils
|
||||
gawk
|
||||
gnugrep
|
||||
icoextract
|
||||
pciutils
|
||||
umu-launcher
|
||||
xdg-utils
|
||||
]
|
||||
++ lib.optional withGameMode gamemode;
|
||||
substituteInPlace faugus/path_manager.py \
|
||||
--replace-fail "PathManager.user_data('faugus-launcher/umu-run')" "'${lib.getExe umu-launcher}'"
|
||||
''
|
||||
+ lib.optionalString lsfgSupport ''
|
||||
substituteInPlace faugus/path_manager.py \
|
||||
--replace-fail "/usr/lib/extensions/vulkan/lsfgvk/lib/liblsfg-vk.so" "${lsfg-vk}/lib/liblsfg-vk.so" \
|
||||
--replace-fail "/usr/lib/liblsfg-vk-layer.so" "${lsfg-vk}/lib/liblsfg-vk-layer.so"
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
--set PYTHONPATH "$out/${python3Packages.python.sitePackages}:$PYTHONPATH"
|
||||
--set LD_PRELOAD "libgamemode.so:$LD_PRELOAD"
|
||||
--set LD_LIBRARY_PATH "${lib.getLib gamemode}/lib:$LD_LIBRARY_PATH"
|
||||
--suffix PATH : "${
|
||||
lib.makeBinPath [
|
||||
coreutils
|
||||
gawk
|
||||
gnugrep
|
||||
icoextract
|
||||
pciutils
|
||||
umu-launcher
|
||||
xdg-utils
|
||||
]
|
||||
}"
|
||||
)
|
||||
'';
|
||||
|
||||
# has no tests
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "faugus" ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
@@ -111,11 +106,8 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
homepage = "https://github.com/Faugus/faugus-launcher";
|
||||
changelog = "https://github.com/Faugus/faugus-launcher/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
RoGreat
|
||||
keenanweaver
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ RoGreat ];
|
||||
mainProgram = "faugus-launcher";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -12,13 +12,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fcitx5-array";
|
||||
version = "1.0.4";
|
||||
version = "1.0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ray2501";
|
||||
repo = "fcitx5-array";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-6y7LpLoKfQb5TRs4fJUf3b7hZVuyN3KLp8ftvcaMXvU=";
|
||||
hash = "sha256-AATnlyAP33PojoDBOeCmhgY/rZpQoMpXHD/ZhmFXeGg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
stdenv,
|
||||
acl,
|
||||
cmake,
|
||||
dbus,
|
||||
fcitx5,
|
||||
fetchFromGitHub,
|
||||
gettext,
|
||||
@@ -12,7 +11,6 @@
|
||||
libevdev,
|
||||
libinput,
|
||||
libnotify,
|
||||
libxcb,
|
||||
nix-update-script,
|
||||
pkg-config,
|
||||
python3,
|
||||
@@ -31,13 +29,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fcitx5-lotus";
|
||||
version = "6.0.5";
|
||||
version = "6.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LotusInputMethod";
|
||||
repo = "fcitx5-lotus";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-l9/r6GIghNGl1PCSue1nkl9p+CI/6Au1yA36QcQzFe4=";
|
||||
hash = "sha256-zWOnjTaifwhzIk9QLksf/g3EF/SOg1vJmM4IQ5P1+H8=";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
@@ -55,13 +53,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
buildInputs = [
|
||||
acl
|
||||
dbus
|
||||
fcitx5
|
||||
kdePackages.extra-cmake-modules
|
||||
libevdev
|
||||
libinput
|
||||
libnotify
|
||||
libxcb
|
||||
pythonEnv
|
||||
qt6.qtbase
|
||||
qt6.qtsvg
|
||||
@@ -74,12 +70,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
doCheck = true;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DLOTUS_ALT_EXECUTABLE_PREFIX=/nix/store/"
|
||||
"-DLOTUS_SETFACL_EXECUTABLE=${acl}/bin/setfacl"
|
||||
(lib.cmakeBool "BUILD_TESTING" finalAttrs.finalPackage.doCheck)
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user