mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-07-06 17:13:24 -05:00
Merge 8037b1aab1 into haskell-updates
This commit is contained in:
commit
3f49232af6
307 changed files with 5674 additions and 3399 deletions
11
.github/labeler-no-sync.yml
vendored
11
.github/labeler-no-sync.yml
vendored
|
|
@ -22,17 +22,6 @@
|
|||
- doc/**/*
|
||||
- nixos/doc/**/*
|
||||
|
||||
"backport release-25.11":
|
||||
- all:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- .github/actions/**/*
|
||||
- .github/workflows/*
|
||||
- .github/labeler*.yml
|
||||
- ci/**/*.*
|
||||
- maintainers/github-teams.json
|
||||
- base-branch: ['master']
|
||||
|
||||
"backport release-26.05":
|
||||
- all:
|
||||
- changed-files:
|
||||
|
|
|
|||
6
.github/workflows/periodic-merge-24h.yml
vendored
6
.github/workflows/periodic-merge-24h.yml
vendored
|
|
@ -31,12 +31,6 @@ jobs:
|
|||
max-parallel: 1
|
||||
matrix:
|
||||
pairs:
|
||||
- from: release-25.11
|
||||
into: staging-next-25.11
|
||||
- from: staging-next-25.11
|
||||
into: staging-25.11
|
||||
- from: release-25.11
|
||||
into: staging-nixos-25.11
|
||||
- from: release-26.05
|
||||
into: staging-next-26.05
|
||||
- from: staging-next-26.05
|
||||
|
|
|
|||
|
|
@ -38,6 +38,17 @@ let
|
|||
check = treefmt.check nixFilesSrc;
|
||||
};
|
||||
|
||||
# nixos-render-docs and nixos-render-docs-redirects
|
||||
# Should be used from tree to build the matching in-tree documentation
|
||||
docPkgs = pkgs.extend (
|
||||
final: prev: {
|
||||
nixos-render-docs = final.callPackage ../pkgs/by-name/ni/nixos-render-docs/package.nix { };
|
||||
nixos-render-docs-redirects =
|
||||
final.callPackage ../pkgs/by-name/ni/nixos-render-docs-redirects/package.nix
|
||||
{ };
|
||||
}
|
||||
);
|
||||
|
||||
in
|
||||
rec {
|
||||
inherit pkgs fmt;
|
||||
|
|
@ -53,7 +64,7 @@ rec {
|
|||
# CI jobs
|
||||
lib-tests = import ../lib/tests/release.nix { inherit pkgs; };
|
||||
manual-nixos = (import ../nixos/release.nix { }).manual.${system} or null;
|
||||
manual-nixpkgs = (import ../doc { inherit pkgs; });
|
||||
manual-nixpkgs = (import ../doc { pkgs = docPkgs; });
|
||||
nixpkgs-vet = pkgs.callPackage ./nixpkgs-vet.nix {
|
||||
nix = pkgs.nixVersions.latest;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -100,6 +100,7 @@ let
|
|||
myChunk=$2
|
||||
system=$3
|
||||
outputDir=$4
|
||||
preEvalFile=$5
|
||||
|
||||
# Default is 5, higher values effectively disable the warning.
|
||||
# This randomly breaks Eval.
|
||||
|
|
@ -121,12 +122,12 @@ let
|
|||
--show-trace \
|
||||
--arg chunkSize "$chunkSize" \
|
||||
--arg myChunk "$myChunk" \
|
||||
--arg preEvalFile "${preEvalFile}" \
|
||||
--arg preEvalFile "$preEvalFile" \
|
||||
--arg systems "[ \"$system\" ]" \
|
||||
--arg includeBroken ${lib.boolToString includeBroken} \
|
||||
--argstr extraNixpkgsConfigJson ${lib.escapeShellArg (builtins.toJSON extraNixpkgsConfig)} \
|
||||
-I ${nixpkgs} \
|
||||
-I ${preEvalFile} \
|
||||
-I "$preEvalFile" \
|
||||
> "$outputDir/result/$myChunk" \
|
||||
2> "$outputDir/stderr/$myChunk"
|
||||
exitCode=$?
|
||||
|
|
@ -164,12 +165,6 @@ let
|
|||
echo "System: $evalSystem"
|
||||
cores=$NIX_BUILD_CORES
|
||||
echo "Cores: $cores"
|
||||
attrCount=$(jq '.paths | length' "${preEvalFile}")
|
||||
echo "Attribute count: $attrCount"
|
||||
echo "Chunk size: $chunkSize"
|
||||
# Same as `attrCount / chunkSize` but rounded up
|
||||
chunkCount=$(( (attrCount - 1) / chunkSize + 1 ))
|
||||
echo "Chunk count: $chunkCount"
|
||||
|
||||
mkdir -p $out/${evalSystem}
|
||||
|
||||
|
|
@ -190,29 +185,61 @@ let
|
|||
done
|
||||
) &
|
||||
|
||||
seq_end=$(( chunkCount - 1 ))
|
||||
chunkedEval() {
|
||||
local chunkOutputDir=$1
|
||||
local preEvalFile=$2
|
||||
|
||||
${lib.optionalString quickTest ''
|
||||
seq_end=0
|
||||
''}
|
||||
local attrCount=$(jq '.paths | length' "$preEvalFile")
|
||||
echo "Attribute count: $attrCount"
|
||||
echo "Chunk size: $chunkSize"
|
||||
# Same as `attrCount / chunkSize` but rounded up
|
||||
local chunkCount=$(( (attrCount - 1) / chunkSize + 1 ))
|
||||
echo "Chunk count: $chunkCount"
|
||||
|
||||
chunkOutputDir=$(mktemp -d)
|
||||
mkdir "$chunkOutputDir"/{result,stats,timestats,stderr}
|
||||
local seq_end=$(( chunkCount - 1 ))
|
||||
${lib.optionalString quickTest ''
|
||||
seq_end=0
|
||||
''}
|
||||
|
||||
seq -w 0 "$seq_end" |
|
||||
command time -f "%e" -o "$out/${evalSystem}/total-time" \
|
||||
xargs -I{} -P"$cores" \
|
||||
${singleChunk} "$chunkSize" {} "$evalSystem" "$chunkOutputDir"
|
||||
mkdir -p "$chunkOutputDir"/{result,stats,timestats,stderr}
|
||||
|
||||
cp -r "$chunkOutputDir"/stats $out/${evalSystem}/stats-by-chunk
|
||||
seq -w 0 "$seq_end" |
|
||||
xargs -I{} -P"$cores" \
|
||||
${singleChunk} "$chunkSize" {} "$evalSystem" "$chunkOutputDir" "$preEvalFile"
|
||||
|
||||
if (( chunkSize * chunkCount != attrCount )); then
|
||||
# A final incomplete chunk would mess up the stats, don't include it
|
||||
rm "$chunkOutputDir"/stats/"$seq_end"
|
||||
fi
|
||||
if (( chunkSize * chunkCount != attrCount )); then
|
||||
# A final incomplete chunk would mess up the stats, don't include it
|
||||
rm "$chunkOutputDir"/stats/"$seq_end"
|
||||
fi
|
||||
}
|
||||
|
||||
cat "$chunkOutputDir"/result/* | jq -s 'add | map_values(.outputs)' > $out/${evalSystem}/paths.json
|
||||
cat "$chunkOutputDir"/result/* | jq -s 'add | map_values(.meta)' > $out/${evalSystem}/meta.json
|
||||
chunkOutputDirs=$(mktemp -d)
|
||||
|
||||
# Preparation for the second eval
|
||||
disallowedAttributesPreEvalFile=$(mktemp)
|
||||
jq '{
|
||||
paths: (.attrPathsDisallowedForInternalUse | map(.attrPath)),
|
||||
attrPathsDisallowedForInternalUse: []
|
||||
}' ${preEvalFile} > "$disallowedAttributesPreEvalFile"
|
||||
|
||||
startEpoch=$(date +%s)
|
||||
|
||||
# The first eval evaluates only attributes that are not disallowed for internal Nixpkgs use, ensuring that they don't depend on disallowed attributes
|
||||
# Because the first eval doesn't evaluate the disallowed attributes themselves, but we still want to check that they don't fail evaluation, we evaluate them separately in a second eval
|
||||
# The reason we need two evals is because we want disallowed attributes to be able to depend on other disallowed attributes, which inherently needs a separate Nixpkgs instantiation
|
||||
# And while we could interleave that instantiation into a single eval, that would ~double memory usage for all chunks, while doing it separately doesn't
|
||||
echo "Evaluating the internally allowed attributes"
|
||||
chunkedEval "$chunkOutputDirs"/allowed ${preEvalFile}
|
||||
echo "Evaluating the internally disallowed attributes"
|
||||
chunkedEval "$chunkOutputDirs"/disallowed "$disallowedAttributesPreEvalFile"
|
||||
|
||||
echo $(( $(date +%s) - startEpoch )) > "$out/${evalSystem}/total-time"
|
||||
|
||||
# We only use the stats from the allowed attrs eval, because the disallowed attrs are generally not even a full chunk
|
||||
cp -r "$chunkOutputDirs"/allowed/stats $out/${evalSystem}/stats-by-chunk
|
||||
|
||||
cat "$chunkOutputDirs"/*/result/* | jq -s 'add | map_values(.outputs)' > $out/${evalSystem}/paths.json
|
||||
cat "$chunkOutputDirs"/*/result/* | jq -s 'add | map_values(.meta)' > $out/${evalSystem}/meta.json
|
||||
'';
|
||||
|
||||
diff = callPackage ./diff.nix { };
|
||||
|
|
|
|||
|
|
@ -204,25 +204,9 @@ following are specific to `buildPythonPackage`:
|
|||
* `setupPyGlobalFlags ? []`: List of flags passed to `setup.py` command.
|
||||
* `setupPyBuildFlags ? []`: List of flags passed to `setup.py build_ext` command.
|
||||
|
||||
##### Using fixed-point arguments {#buildpythonpackage-fixed-point-arguments}
|
||||
##### Writing override-compatible packages {#buildpythonpackage-fixed-point-arguments}
|
||||
|
||||
Both `buildPythonPackage` and `buildPythonApplication` support [fixed-point arguments](#chap-build-helpers-finalAttrs), similar to `stdenv.mkDerivation`.
|
||||
This allows you to reference the final attributes of the derivation.
|
||||
|
||||
Instead of using `rec`:
|
||||
|
||||
```nix
|
||||
buildPythonPackage rec {
|
||||
pname = "pyspread";
|
||||
version = "2.4";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-...";
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
You can use the `finalAttrs` pattern:
|
||||
Use `finalAttrs` to make a package easy to update and override:
|
||||
|
||||
```nix
|
||||
buildPythonPackage (finalAttrs: {
|
||||
|
|
@ -236,7 +220,9 @@ buildPythonPackage (finalAttrs: {
|
|||
})
|
||||
```
|
||||
|
||||
See the [general documentation on fixed-point arguments](#chap-build-helpers-finalAttrs) for more details on the benefits of this pattern.
|
||||
When a downstream callsite *overrides* `version` the override becomes visible as `finalAttrs.version`.
|
||||
|
||||
Both `buildPythonPackage` and `buildPythonApplication` support [fixed-point arguments](#chap-build-helpers-finalAttrs), similar to `stdenv.mkDerivation`.
|
||||
|
||||
::: {.note}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ let
|
|||
isString
|
||||
mapAttrs
|
||||
removeAttrs
|
||||
throwIfNot
|
||||
;
|
||||
|
||||
showMaybeAttrPosPre =
|
||||
|
|
@ -108,18 +107,18 @@ in
|
|||
# attrset spine returned by lazyDerivation does not depend on it.
|
||||
# Instead, the individual derivation attributes do depend on it.
|
||||
checked =
|
||||
throwIfNot (derivation.type or null == "derivation") "lazyDerivation: input must be a derivation."
|
||||
throwIfNot
|
||||
# NOTE: Technically we could require our outputs to be a subset of the
|
||||
# actual ones, or even leave them unchecked and fail on a lazy basis.
|
||||
# However, consider the case where an output is added in the underlying
|
||||
# derivation, such as dev. lazyDerivation would remove it and cause it
|
||||
# to fail as a buildInputs item, without any indication as to what
|
||||
# happened. Hence the more stringent condition. We could consider
|
||||
# adding a flag to control this behavior if there's a valid case for it,
|
||||
# but the documentation must have a note like this.
|
||||
(derivation.outputs == outputs)
|
||||
''
|
||||
if derivation.type or null != "derivation" then
|
||||
throw "lazyDerivation: input must be a derivation."
|
||||
# NOTE: Technically we could require our outputs to be a subset of the
|
||||
# actual ones, or even leave them unchecked and fail on a lazy basis.
|
||||
# However, consider the case where an output is added in the underlying
|
||||
# derivation, such as dev. lazyDerivation would remove it and cause it
|
||||
# to fail as a buildInputs item, without any indication as to what
|
||||
# happened. Hence the more stringent condition. We could consider
|
||||
# adding a flag to control this behavior if there's a valid case for it,
|
||||
# but the documentation must have a note like this.
|
||||
else if derivation.outputs != outputs then
|
||||
throw ''
|
||||
lib.lazyDerivation: The derivation ${derivation.name or "<unknown>"} has outputs that don't match the assumed outputs.
|
||||
|
||||
Assumed outputs passed to lazyDerivation${showMaybeAttrPosPre ",\n at " "outputs" args}:
|
||||
|
|
@ -142,6 +141,7 @@ in
|
|||
If none of the above works for you, replace the lib.lazyDerivation call by the
|
||||
expression in the derivation argument.
|
||||
''
|
||||
else
|
||||
derivation;
|
||||
in
|
||||
{
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@ let
|
|||
concatMapStringsSep
|
||||
head
|
||||
length
|
||||
throwIf
|
||||
;
|
||||
inherit (lib.attrsets)
|
||||
attrsToList
|
||||
|
|
@ -130,7 +129,7 @@ rec {
|
|||
hashesAsNVPairs = attrsToList (intersectAttrs hashSet args);
|
||||
in
|
||||
if hashesAsNVPairs == [ ] then
|
||||
throwIf required "fetcher called without `hash`" null
|
||||
if required then throw "fetcher called without `hash`" else null
|
||||
else if length hashesAsNVPairs != 1 then
|
||||
throw "fetcher called with mutually-incompatible arguments: ${
|
||||
concatMapStringsSep ", " (a: a.name) hashesAsNVPairs
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@ let
|
|||
inherit (lib)
|
||||
addErrorContext
|
||||
any
|
||||
assertMsg
|
||||
attrNames
|
||||
attrValues
|
||||
concatLists
|
||||
|
|
@ -64,7 +63,6 @@ let
|
|||
reverseList
|
||||
splitString
|
||||
tail
|
||||
toList
|
||||
;
|
||||
|
||||
inherit (lib.strings)
|
||||
|
|
@ -849,7 +847,7 @@ rec {
|
|||
_type == "lua-inline";
|
||||
|
||||
generatedBindings =
|
||||
assert assertMsg (badVarNames == [ ]) "Bad Lua var names: ${toPretty { } badVarNames}";
|
||||
assert badVarNames == [ ] || throw "Bad Lua var names: ${toPretty { } badVarNames}";
|
||||
concatStrings (mapAttrsToList (key: value: "${indent}${key} = ${toLua innerArgs value}\n") v);
|
||||
|
||||
# https://en.wikibooks.org/wiki/Lua_Programming/variable#Variable_names
|
||||
|
|
|
|||
|
|
@ -191,10 +191,15 @@ rec {
|
|||
mkArray =
|
||||
elems:
|
||||
let
|
||||
vs = map mkValue (lib.throwIf (elems == [ ]) "Please create empty array with mkEmptyArray." elems);
|
||||
elemType = lib.throwIfNot (lib.all (t: (head vs).type == t) (
|
||||
map (v: v.type) vs
|
||||
)) "Elements in a list should have same type." (head vs).type;
|
||||
vs = map mkValue (
|
||||
if elems == [ ] then throw "Please create empty array with mkEmptyArray." else elems
|
||||
);
|
||||
firstType = (head vs).type;
|
||||
elemType =
|
||||
if lib.any (v: v.type != firstType) vs then
|
||||
throw "Elements in a list should have same type."
|
||||
else
|
||||
firstType;
|
||||
in
|
||||
mkPrimitive (type.arrayOf elemType) vs
|
||||
// {
|
||||
|
|
|
|||
|
|
@ -1848,7 +1848,7 @@ rec {
|
|||
*/
|
||||
last =
|
||||
list:
|
||||
assert lib.assertMsg (list != [ ]) "lists.last: list must not be empty!";
|
||||
assert list != [ ] || throw "lists.last: list must not be empty!";
|
||||
elemAt list (length list - 1);
|
||||
|
||||
/**
|
||||
|
|
@ -1881,7 +1881,7 @@ rec {
|
|||
*/
|
||||
init =
|
||||
list:
|
||||
assert lib.assertMsg (list != [ ]) "lists.init: list must not be empty!";
|
||||
assert list != [ ] || throw "lists.init: list must not be empty!";
|
||||
genList (elemAt list) (length list - 1);
|
||||
|
||||
/**
|
||||
|
|
@ -2157,7 +2157,8 @@ rec {
|
|||
*/
|
||||
replaceElemAt =
|
||||
list: idx: newElem:
|
||||
assert lib.assertMsg (idx >= 0 && idx < length list)
|
||||
"'lists.replaceElemAt' called with index ${toString idx} on a list of size ${toString (length list)}";
|
||||
assert
|
||||
idx >= 0 && idx < length list
|
||||
|| throw "'lists.replaceElemAt' called with index ${toString idx} on a list of size ${toString (length list)}";
|
||||
genList (i: if i == idx then newElem else elemAt list i) (length list);
|
||||
}
|
||||
|
|
|
|||
16
lib/meta.nix
16
lib/meta.nix
|
|
@ -12,7 +12,6 @@ let
|
|||
all
|
||||
isDerivation
|
||||
getBin
|
||||
assertMsg
|
||||
;
|
||||
inherit (lib.attrsets) mapAttrs' filterAttrs;
|
||||
inherit (builtins)
|
||||
|
|
@ -571,12 +570,15 @@ rec {
|
|||
*/
|
||||
getExe' =
|
||||
x: y:
|
||||
assert assertMsg (isDerivation x)
|
||||
"lib.meta.getExe': The first argument is of type ${typeOf x}, but it should be a derivation instead.";
|
||||
assert assertMsg (isString y)
|
||||
"lib.meta.getExe': The second argument is of type ${typeOf y}, but it should be a string instead.";
|
||||
assert assertMsg (match ".*/.*" y == null)
|
||||
"lib.meta.getExe': The second argument \"${y}\" is a nested path with a \"/\" character, but it should just be the name of the executable instead.";
|
||||
assert
|
||||
isDerivation x
|
||||
|| throw "lib.meta.getExe': The first argument is of type ${typeOf x}, but it should be a derivation instead.";
|
||||
assert
|
||||
isString y
|
||||
|| throw "lib.meta.getExe': The second argument is of type ${typeOf y}, but it should be a string instead.";
|
||||
assert
|
||||
match ".*/.*" y == null
|
||||
|| throw "lib.meta.getExe': The second argument \"${y}\" is a nested path with a \"/\" character, but it should just be the name of the executable instead.";
|
||||
"${getBin x}/bin/${y}";
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -46,7 +46,6 @@ let
|
|||
setAttrByPath
|
||||
substring
|
||||
take
|
||||
throwIfNot
|
||||
trace
|
||||
typeOf
|
||||
types
|
||||
|
|
@ -680,8 +679,11 @@ let
|
|||
config = addFreeformType (addMeta (m.config or { }));
|
||||
}
|
||||
else
|
||||
# shorthand syntax
|
||||
throwIfNot (isAttrs m) "module ${file} (${key}) does not look like a module." {
|
||||
# shorthand syntax
|
||||
if !isAttrs m then
|
||||
throw "module ${file} (${key}) does not look like a module."
|
||||
else
|
||||
{
|
||||
_file = toString m._file or file;
|
||||
_class = m._class or null;
|
||||
key = toString m.key or key;
|
||||
|
|
|
|||
|
|
@ -104,9 +104,9 @@ let
|
|||
*/
|
||||
parseExpandedIpv6 =
|
||||
addr:
|
||||
assert lib.assertMsg (
|
||||
assert
|
||||
length addr == ipv6Pieces
|
||||
) "parseExpandedIpv6: expected list of integers with ${ipv6Pieces} elements";
|
||||
|| throw "parseExpandedIpv6: expected list of integers with ${ipv6Pieces} elements";
|
||||
let
|
||||
u16FromHexStr =
|
||||
hex:
|
||||
|
|
|
|||
|
|
@ -32,10 +32,6 @@ let
|
|||
substring
|
||||
;
|
||||
|
||||
inherit (lib.asserts)
|
||||
assertMsg
|
||||
;
|
||||
|
||||
inherit (lib.path.subpath)
|
||||
isValid
|
||||
;
|
||||
|
|
@ -238,11 +234,14 @@ in
|
|||
path:
|
||||
# The subpath string to append
|
||||
subpath:
|
||||
assert assertMsg (isPath path)
|
||||
"lib.path.append: The first argument is of type ${builtins.typeOf path}, but a path was expected";
|
||||
assert assertMsg (isValid subpath) ''
|
||||
lib.path.append: Second argument is not a valid subpath string:
|
||||
${subpathInvalidReason subpath}'';
|
||||
assert
|
||||
isPath path
|
||||
|| throw "lib.path.append: The first argument is of type ${builtins.typeOf path}, but a path was expected";
|
||||
assert
|
||||
isValid subpath
|
||||
|| throw ''
|
||||
lib.path.append: Second argument is not a valid subpath string:
|
||||
${subpathInvalidReason subpath}'';
|
||||
path + ("/" + subpath);
|
||||
|
||||
/**
|
||||
|
|
@ -285,21 +284,25 @@ in
|
|||
*/
|
||||
hasPrefix =
|
||||
path1:
|
||||
assert assertMsg (isPath path1)
|
||||
"lib.path.hasPrefix: First argument is of type ${typeOf path1}, but a path was expected";
|
||||
assert
|
||||
isPath path1
|
||||
|| throw "lib.path.hasPrefix: First argument is of type ${typeOf path1}, but a path was expected";
|
||||
let
|
||||
path1Deconstructed = deconstructPath path1;
|
||||
in
|
||||
path2:
|
||||
assert assertMsg (isPath path2)
|
||||
"lib.path.hasPrefix: Second argument is of type ${typeOf path2}, but a path was expected";
|
||||
assert
|
||||
isPath path2
|
||||
|| throw "lib.path.hasPrefix: Second argument is of type ${typeOf path2}, but a path was expected";
|
||||
let
|
||||
path2Deconstructed = deconstructPath path2;
|
||||
in
|
||||
assert assertMsg (path1Deconstructed.root == path2Deconstructed.root) ''
|
||||
lib.path.hasPrefix: Filesystem roots must be the same for both paths, but paths with different roots were given:
|
||||
first argument: "${toString path1}" with root "${toString path1Deconstructed.root}"
|
||||
second argument: "${toString path2}" with root "${toString path2Deconstructed.root}"'';
|
||||
assert
|
||||
path1Deconstructed.root == path2Deconstructed.root
|
||||
|| throw ''
|
||||
lib.path.hasPrefix: Filesystem roots must be the same for both paths, but paths with different roots were given:
|
||||
first argument: "${toString path1}" with root "${toString path1Deconstructed.root}"
|
||||
second argument: "${toString path2}" with root "${toString path2Deconstructed.root}"'';
|
||||
take (length path1Deconstructed.components) path2Deconstructed.components
|
||||
== path1Deconstructed.components;
|
||||
|
||||
|
|
@ -344,15 +347,17 @@ in
|
|||
*/
|
||||
removePrefix =
|
||||
path1:
|
||||
assert assertMsg (isPath path1)
|
||||
"lib.path.removePrefix: First argument is of type ${typeOf path1}, but a path was expected.";
|
||||
assert
|
||||
isPath path1
|
||||
|| throw "lib.path.removePrefix: First argument is of type ${typeOf path1}, but a path was expected.";
|
||||
let
|
||||
path1Deconstructed = deconstructPath path1;
|
||||
path1Length = length path1Deconstructed.components;
|
||||
in
|
||||
path2:
|
||||
assert assertMsg (isPath path2)
|
||||
"lib.path.removePrefix: Second argument is of type ${typeOf path2}, but a path was expected.";
|
||||
assert
|
||||
isPath path2
|
||||
|| throw "lib.path.removePrefix: Second argument is of type ${typeOf path2}, but a path was expected.";
|
||||
let
|
||||
path2Deconstructed = deconstructPath path2;
|
||||
success = take path1Length path2Deconstructed.components == path1Deconstructed.components;
|
||||
|
|
@ -362,10 +367,12 @@ in
|
|||
else
|
||||
throw ''lib.path.removePrefix: The first path argument "${toString path1}" is not a component-wise prefix of the second path argument "${toString path2}".'';
|
||||
in
|
||||
assert assertMsg (path1Deconstructed.root == path2Deconstructed.root) ''
|
||||
lib.path.removePrefix: Filesystem roots must be the same for both paths, but paths with different roots were given:
|
||||
first argument: "${toString path1}" with root "${toString path1Deconstructed.root}"
|
||||
second argument: "${toString path2}" with root "${toString path2Deconstructed.root}"'';
|
||||
assert
|
||||
path1Deconstructed.root == path2Deconstructed.root
|
||||
|| throw ''
|
||||
lib.path.removePrefix: Filesystem roots must be the same for both paths, but paths with different roots were given:
|
||||
first argument: "${toString path1}" with root "${toString path1Deconstructed.root}"
|
||||
second argument: "${toString path2}" with root "${toString path2Deconstructed.root}"'';
|
||||
joinRelPath components;
|
||||
|
||||
/**
|
||||
|
|
@ -422,8 +429,9 @@ in
|
|||
splitRoot =
|
||||
# The path to split the root off of
|
||||
path:
|
||||
assert assertMsg (isPath path)
|
||||
"lib.path.splitRoot: Argument is of type ${typeOf path}, but a path was expected";
|
||||
assert
|
||||
isPath path
|
||||
|| throw "lib.path.splitRoot: Argument is of type ${typeOf path}, but a path was expected";
|
||||
let
|
||||
deconstructed = deconstructPath path;
|
||||
in
|
||||
|
|
@ -494,14 +502,15 @@ in
|
|||
let
|
||||
deconstructed = deconstructPath path;
|
||||
in
|
||||
assert assertMsg (isPath path)
|
||||
"lib.path.hasStorePathPrefix: Argument is of type ${typeOf path}, but a path was expected";
|
||||
assert assertMsg
|
||||
assert
|
||||
isPath path
|
||||
|| throw "lib.path.hasStorePathPrefix: Argument is of type ${typeOf path}, but a path was expected";
|
||||
assert
|
||||
# This function likely breaks or needs adjustment if used with other filesystem roots, if they ever get implemented.
|
||||
# Let's try to error nicely in such a case, though it's unclear how an implementation would work even and whether this could be detected.
|
||||
# See also https://github.com/NixOS/nix/pull/6530#discussion_r1422843117
|
||||
(deconstructed.root == /. && toString deconstructed.root == "/")
|
||||
"lib.path.hasStorePathPrefix: Argument has a filesystem root (${toString deconstructed.root}) that's not /, which is currently not supported.";
|
||||
deconstructed.root == /. && toString deconstructed.root == "/"
|
||||
|| throw "lib.path.hasStorePathPrefix: Argument has a filesystem root (${toString deconstructed.root}) that's not /, which is currently not supported.";
|
||||
componentsHaveStorePathPrefix deconstructed.components;
|
||||
|
||||
/**
|
||||
|
|
@ -702,9 +711,11 @@ in
|
|||
subpath.components =
|
||||
# The subpath string to split into components
|
||||
subpath:
|
||||
assert assertMsg (isValid subpath) ''
|
||||
lib.path.subpath.components: Argument is not a valid subpath string:
|
||||
${subpathInvalidReason subpath}'';
|
||||
assert
|
||||
isValid subpath
|
||||
|| throw ''
|
||||
lib.path.subpath.components: Argument is not a valid subpath string:
|
||||
${subpathInvalidReason subpath}'';
|
||||
splitRelPath subpath;
|
||||
|
||||
/**
|
||||
|
|
@ -799,9 +810,11 @@ in
|
|||
subpath.normalise =
|
||||
# The subpath string to normalise
|
||||
subpath:
|
||||
assert assertMsg (isValid subpath) ''
|
||||
lib.path.subpath.normalise: Argument is not a valid subpath string:
|
||||
${subpathInvalidReason subpath}'';
|
||||
assert
|
||||
isValid subpath
|
||||
|| throw ''
|
||||
lib.path.subpath.normalise: Argument is not a valid subpath string:
|
||||
${subpathInvalidReason subpath}'';
|
||||
joinRelPath (splitRelPath subpath);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1589,15 +1589,14 @@ rec {
|
|||
*/
|
||||
toSentenceCase =
|
||||
str:
|
||||
lib.throwIfNot (isString str)
|
||||
"toSentenceCase does only accepts string values, but got ${typeOf str}"
|
||||
(
|
||||
let
|
||||
firstChar = substring 0 1 str;
|
||||
rest = substring 1 (-1) str; # -1 takes till the end of the string
|
||||
in
|
||||
toUpper firstChar + toLower rest
|
||||
);
|
||||
if !isString str then
|
||||
throw "toSentenceCase does only accepts string values, but got ${typeOf str}"
|
||||
else
|
||||
let
|
||||
firstChar = substring 0 1 str;
|
||||
rest = substring 1 (-1) str; # -1 takes till the end of the string
|
||||
in
|
||||
toUpper firstChar + toLower rest;
|
||||
|
||||
/**
|
||||
Converts a string to camelCase. Handles snake_case, PascalCase,
|
||||
|
|
@ -1633,7 +1632,9 @@ rec {
|
|||
*/
|
||||
toCamelCase =
|
||||
str:
|
||||
lib.throwIfNot (isString str) "toCamelCase does only accepts string values, but got ${typeOf str}" (
|
||||
if !isString str then
|
||||
throw "toCamelCase does only accepts string values, but got ${typeOf str}"
|
||||
else
|
||||
let
|
||||
separators = splitStringBy (
|
||||
prev: curr:
|
||||
|
|
@ -1653,8 +1654,7 @@ rec {
|
|||
first = if length parts > 0 then toLower (head parts) else "";
|
||||
rest = if length parts > 1 then map toSentenceCase (tail parts) else [ ];
|
||||
in
|
||||
concatStrings ([ first ] ++ rest)
|
||||
);
|
||||
concatStrings ([ first ] ++ rest);
|
||||
|
||||
/**
|
||||
Appends string context from string like object `src` to `target`.
|
||||
|
|
@ -2532,8 +2532,9 @@ rec {
|
|||
strw = lib.stringLength str;
|
||||
reqWidth = width - (lib.stringLength filler);
|
||||
in
|
||||
assert lib.assertMsg (strw <= width)
|
||||
"fixedWidthString: requested string length (${toString width}) must not be shorter than actual length (${toString strw})";
|
||||
assert
|
||||
strw <= width
|
||||
|| throw "fixedWidthString: requested string length (${toString width}) must not be shorter than actual length (${toString strw})";
|
||||
if strw == width then str else filler + fixedWidthString reqWidth filler str;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -474,7 +474,7 @@ in
|
|||
*/
|
||||
oldestSupportedRelease =
|
||||
# Update on master only. Do not backport.
|
||||
2511;
|
||||
2605;
|
||||
|
||||
/**
|
||||
Whether a feature is supported in all supported releases (at the time of
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@ let
|
|||
isString
|
||||
substring
|
||||
sort
|
||||
throwIf
|
||||
toDerivation
|
||||
toList
|
||||
types
|
||||
|
|
@ -408,7 +407,7 @@ rec {
|
|||
betweenDesc = lowest: highest: "${toString lowest} and ${toString highest} (both inclusive)";
|
||||
between =
|
||||
lowest: highest:
|
||||
assert lib.assertMsg (lowest <= highest) "ints.between: lowest must be smaller than highest";
|
||||
assert lowest <= highest || throw "ints.between: lowest must be smaller than highest";
|
||||
addCheck int (x: x >= lowest && x <= highest)
|
||||
// {
|
||||
name = "intBetween";
|
||||
|
|
@ -495,7 +494,7 @@ rec {
|
|||
{
|
||||
between =
|
||||
lowest: highest:
|
||||
assert lib.assertMsg (lowest <= highest) "numbers.between: lowest must be smaller than highest";
|
||||
assert lowest <= highest || throw "numbers.between: lowest must be smaller than highest";
|
||||
addCheck number (x: x >= lowest && x <= highest)
|
||||
// {
|
||||
name = "numberBetween";
|
||||
|
|
@ -660,10 +659,10 @@ rec {
|
|||
inStore ? null,
|
||||
absolute ? null,
|
||||
}:
|
||||
throwIf (inStore != null && absolute != null && inStore && !absolute)
|
||||
"In pathWith, inStore means the path must be absolute"
|
||||
mkOptionType
|
||||
{
|
||||
if inStore != null && absolute != null && inStore && !absolute then
|
||||
throw "In pathWith, inStore means the path must be absolute"
|
||||
else
|
||||
mkOptionType {
|
||||
name = "path";
|
||||
description = (
|
||||
(if absolute == null then "" else (if absolute then "absolute " else "relative "))
|
||||
|
|
@ -1079,8 +1078,8 @@ rec {
|
|||
builtins.addErrorContext
|
||||
"while checking that attrTag tag ${lib.strings.escapeNixIdentifier n} is an option with a type${inAttrPosSuffix tags_ n}"
|
||||
(
|
||||
throwIf (opt._type or null != "option")
|
||||
"In attrTag, each tag value must be an option, but tag ${lib.strings.escapeNixIdentifier n} ${
|
||||
if opt._type or null != "option" then
|
||||
throw "In attrTag, each tag value must be an option, but tag ${lib.strings.escapeNixIdentifier n} ${
|
||||
if opt ? _type then
|
||||
if opt._type == "option-type" then
|
||||
"was a bare type, not wrapped in mkOption."
|
||||
|
|
@ -1089,23 +1088,24 @@ rec {
|
|||
else
|
||||
"was not."
|
||||
}"
|
||||
else
|
||||
opt
|
||||
// {
|
||||
declarations =
|
||||
opt.declarations or (
|
||||
let
|
||||
pos = builtins.unsafeGetAttrPos n tags_;
|
||||
in
|
||||
if pos == null then [ ] else [ pos.file ]
|
||||
);
|
||||
declarationPositions =
|
||||
opt.declarationPositions or (
|
||||
let
|
||||
pos = builtins.unsafeGetAttrPos n tags_;
|
||||
in
|
||||
if pos == null then [ ] else [ pos ]
|
||||
);
|
||||
}
|
||||
// {
|
||||
declarations =
|
||||
opt.declarations or (
|
||||
let
|
||||
pos = builtins.unsafeGetAttrPos n tags_;
|
||||
in
|
||||
if pos == null then [ ] else [ pos.file ]
|
||||
);
|
||||
declarationPositions =
|
||||
opt.declarationPositions or (
|
||||
let
|
||||
pos = builtins.unsafeGetAttrPos n tags_;
|
||||
in
|
||||
if pos == null then [ ] else [ pos ]
|
||||
);
|
||||
}
|
||||
)
|
||||
) tags_;
|
||||
choicesStr = concatMapStringsSep ", " lib.strings.escapeNixIdentifier (attrNames tags);
|
||||
|
|
@ -1728,9 +1728,9 @@ rec {
|
|||
# converted to `finalType` using `coerceFunc`.
|
||||
coercedTo =
|
||||
coercedType: coerceFunc: finalType:
|
||||
assert lib.assertMsg (
|
||||
assert
|
||||
coercedType.getSubModules == null
|
||||
) "coercedTo: coercedType must not have submodules (it’s a ${coercedType.description})";
|
||||
|| throw "coercedTo: coercedType must not have submodules (it’s a ${coercedType.description})";
|
||||
mkOptionType rec {
|
||||
name = "coercedTo";
|
||||
description = "${optionDescriptionPhrase (class: class == "noun") finalType} or ${
|
||||
|
|
|
|||
|
|
@ -814,6 +814,12 @@
|
|||
github = "aftix";
|
||||
githubId = 4008299;
|
||||
};
|
||||
agarmu = {
|
||||
name = "Mukul Agarwal";
|
||||
email = "vcs@agarmu.com";
|
||||
github = "agarmu";
|
||||
githubId = 55563106;
|
||||
};
|
||||
agbrooks = {
|
||||
email = "andrewgrantbrooks@gmail.com";
|
||||
github = "agbrooks";
|
||||
|
|
@ -876,6 +882,12 @@
|
|||
matrix = "aiya:catgirl.cloud";
|
||||
name = "aiya";
|
||||
};
|
||||
aietes = {
|
||||
email = "stefan@standa.de";
|
||||
github = "Aietes";
|
||||
githubId = 5823770;
|
||||
name = "Stefan Krüger";
|
||||
};
|
||||
aij = {
|
||||
email = "aij+git@mrph.org";
|
||||
github = "aij";
|
||||
|
|
@ -5753,6 +5765,12 @@
|
|||
githubId = 4162215;
|
||||
keys = [ { fingerprint = "CE97 9DEE 904C 26AA 3716 78C2 96A4 38F9 EE72 572F"; } ];
|
||||
};
|
||||
croots = {
|
||||
name = "Cameron Roots";
|
||||
github = "croots";
|
||||
githubId = 38054423;
|
||||
keys = [ { fingerprint = "8496 ECF3 0961 115C A6DE 919F A01D C430 0605 1618"; } ];
|
||||
};
|
||||
crop = {
|
||||
email = "crop_tech@proton.me";
|
||||
name = "crop";
|
||||
|
|
@ -8297,6 +8315,12 @@
|
|||
githubId = 7820865;
|
||||
name = "Eric Dallo";
|
||||
};
|
||||
erics118 = {
|
||||
name = "Eric Shen";
|
||||
github = "erics118";
|
||||
githubId = 52634785;
|
||||
email = "ericshen118@gmail.com";
|
||||
};
|
||||
ericson2314 = {
|
||||
email = "John.Ericson@Obsidian.Systems";
|
||||
matrix = "@Ericson2314:matrix.org";
|
||||
|
|
@ -9327,7 +9351,7 @@
|
|||
fraioveio = {
|
||||
email = "francesco@vecchia.lol";
|
||||
github = "FraioVeio";
|
||||
githubId = 181361445;
|
||||
githubId = 44584365;
|
||||
name = "Francesco Vecchia";
|
||||
};
|
||||
franciscod = {
|
||||
|
|
@ -9364,6 +9388,12 @@
|
|||
github = "frectonz";
|
||||
githubId = 53809656;
|
||||
};
|
||||
fred441a = {
|
||||
email = "frederik@altofte.dk";
|
||||
github = "fred441a";
|
||||
githubId = 10808098;
|
||||
name = "Frederik Hansen";
|
||||
};
|
||||
fredeb = {
|
||||
email = "frederikbraendstrup@gmail.com";
|
||||
github = "FredeHoey";
|
||||
|
|
@ -13634,6 +13664,11 @@
|
|||
githubId = 4611077;
|
||||
name = "Raymond Gauthier";
|
||||
};
|
||||
jromer = {
|
||||
github = "jelleromer";
|
||||
githubId = 11951893;
|
||||
name = "Jelle Römer";
|
||||
};
|
||||
jrpotter = {
|
||||
email = "jrpotter2112@gmail.com";
|
||||
github = "jrpotter";
|
||||
|
|
@ -13926,6 +13961,13 @@
|
|||
githubId = 2396926;
|
||||
name = "Justin Woo";
|
||||
};
|
||||
justkrysteq = {
|
||||
email = "justkrysteq@proton.me";
|
||||
github = "justkrysteq";
|
||||
githubId = 43525126;
|
||||
name = "Krysteq";
|
||||
matrix = "@krysteq:matrix.org";
|
||||
};
|
||||
jvanbruegge = {
|
||||
email = "supermanitu@gmail.com";
|
||||
github = "jvanbruegge";
|
||||
|
|
@ -15771,6 +15813,17 @@
|
|||
githubId = 124475;
|
||||
name = "Olli Helenius";
|
||||
};
|
||||
ligerothetiger = {
|
||||
email = "ligero@ligerothetiger.com";
|
||||
name = "LigeroTheTiger";
|
||||
github = "LigeroTheTiger";
|
||||
githubId = 42996211;
|
||||
keys = [
|
||||
{
|
||||
fingerprint = "5zLV9yqjL18GsG1qan0tGM5341niQNYnU/hiBCscn04";
|
||||
}
|
||||
];
|
||||
};
|
||||
lightbulbjim = {
|
||||
email = "chris@killred.net";
|
||||
github = "lightbulbjim";
|
||||
|
|
@ -17878,6 +17931,12 @@
|
|||
github = "merrkry";
|
||||
githubId = 124278440;
|
||||
};
|
||||
mert-kurttutan = {
|
||||
email = "mert-kurttutan@gmail.com";
|
||||
name = "Mert Kurttutan";
|
||||
github = "mert-kurttutan";
|
||||
githubId = 88637659;
|
||||
};
|
||||
messemar = {
|
||||
email = "martin.messer@cyberus-technology.de";
|
||||
name = "messemar";
|
||||
|
|
@ -19222,6 +19281,12 @@
|
|||
githubId = 61601147;
|
||||
name = "basti n00b0ss";
|
||||
};
|
||||
n0pl4c3 = {
|
||||
email = "mail@n0pl4c3.net";
|
||||
github = "n0pl4c3";
|
||||
githubId = 69087176;
|
||||
name = "n0pl4c3";
|
||||
};
|
||||
n3oney = {
|
||||
name = "Michał Minarowski";
|
||||
email = "nixpkgs@neoney.dev";
|
||||
|
|
@ -24989,6 +25054,12 @@
|
|||
githubId = 149248;
|
||||
name = "Christian Rackerseder";
|
||||
};
|
||||
screwys = {
|
||||
email = "screwygit@proton.me";
|
||||
github = "screwys";
|
||||
githubId = 254296947;
|
||||
name = "screwy";
|
||||
};
|
||||
Scriptkiddi = {
|
||||
email = "nixos@scriptkiddi.de";
|
||||
matrix = "@fritz.otlinghaus:helsinki-systems.de";
|
||||
|
|
@ -25226,6 +25297,13 @@
|
|||
githubId = 35622998;
|
||||
name = "Suwon Park";
|
||||
};
|
||||
sepointon = {
|
||||
email = "sampointon@gmail.com";
|
||||
github = "sepointon";
|
||||
githubId = 209542026;
|
||||
matrix = "sampointon:matrix.org";
|
||||
name = "Sam Pointon";
|
||||
};
|
||||
seppeljordan = {
|
||||
email = "sebastian.jordan.mail@googlemail.com";
|
||||
github = "seppeljordan";
|
||||
|
|
@ -27442,6 +27520,12 @@
|
|||
github = "tembleking";
|
||||
githubId = 2988780;
|
||||
};
|
||||
temidaradev = {
|
||||
name = "temidaradev";
|
||||
email = "temidaradev@proton.me";
|
||||
github = "temidaradev";
|
||||
githubId = 118509044;
|
||||
};
|
||||
tengkuizdihar = {
|
||||
name = "Tengku Izdihar";
|
||||
email = "tengkuizdihar@gmail.com";
|
||||
|
|
@ -30072,6 +30156,11 @@
|
|||
githubId = 168610;
|
||||
name = "Ricardo M. Correia";
|
||||
};
|
||||
wjohnsto = {
|
||||
name = "Will Johnston";
|
||||
github = "wjohnsto";
|
||||
githubId = 785258;
|
||||
};
|
||||
wkral = {
|
||||
email = "william.kral@gmail.com";
|
||||
github = "wkral";
|
||||
|
|
@ -30577,6 +30666,12 @@
|
|||
github = "yarektyshchenko";
|
||||
githubId = 185304;
|
||||
};
|
||||
yarn = {
|
||||
name = "yarncat";
|
||||
github = "yaaaarn";
|
||||
githubId = 30006414;
|
||||
email = "nix@yarncat.moe";
|
||||
};
|
||||
yarny = {
|
||||
github = "Yarny0";
|
||||
githubId = 41838844;
|
||||
|
|
|
|||
|
|
@ -2250,6 +2250,30 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
prompt = lib.mkOption {
|
||||
default = null;
|
||||
type = with lib.types; nullOr str;
|
||||
description = ''
|
||||
Set individual prompt message for interactive mode.
|
||||
By setting this option, you can set a message to be shown by the
|
||||
{option}`security.pam.u2f.settings.interactive` option.
|
||||
|
||||
Requires {option}`security.pam.u2f.settings.interactive` to be set to `true`.
|
||||
'';
|
||||
};
|
||||
|
||||
cue_prompt = lib.mkOption {
|
||||
default = null;
|
||||
type = with lib.types; nullOr str;
|
||||
description = ''
|
||||
Set individual prompt message for cue mode.
|
||||
By setting this option, you can set a message to be shown by the
|
||||
{option}`security.pam.u2f.settings.cue` option.
|
||||
|
||||
Requires {option}`security.pam.u2f.settings.cue` to be set to `true`.
|
||||
'';
|
||||
};
|
||||
|
||||
cue = lib.mkOption {
|
||||
default = false;
|
||||
type = lib.types.bool;
|
||||
|
|
|
|||
|
|
@ -621,7 +621,7 @@ in
|
|||
PrivateNetwork = false;
|
||||
};
|
||||
environment = env // {
|
||||
PYTHONPATH = "${cfg.package.python.pkgs.makePythonPath cfg.package.propagatedBuildInputs}:${cfg.package}/lib/paperless-ngx/src";
|
||||
PYTHONPATH = "${cfg.package.python.pkgs.makePythonPath cfg.package.passthru.dependencies}:${cfg.package}/lib/paperless-ngx/src";
|
||||
};
|
||||
# Allow the web interface to access the private /tmp directory of the server.
|
||||
# This is required to support uploading files via the web interface.
|
||||
|
|
|
|||
|
|
@ -421,10 +421,7 @@ in
|
|||
ExecStart = "${data.package}/bin/tincd -D -U tinc-${network} -n ${network} ${optionalString (data.chroot) "-R"} --pidfile /run/tinc.${network}.pid -d ${toString data.debugLevel}";
|
||||
};
|
||||
preStart = ''
|
||||
mkdir -p /etc/tinc/${network}/hosts
|
||||
chown tinc-${network} /etc/tinc/${network}/hosts
|
||||
mkdir -p /etc/tinc/${network}/invitations
|
||||
chown tinc-${network} /etc/tinc/${network}/invitations
|
||||
install -d -o tinc-${network} /etc/tinc/${network} /etc/tinc/${network}/hosts /etc/tinc/${network}/invitations
|
||||
|
||||
# Determine how we should generate our keys
|
||||
if type tinc >/dev/null 2>&1; then
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ let
|
|||
getExe
|
||||
types
|
||||
maintainers
|
||||
makeBinPath
|
||||
;
|
||||
cfg = config.services.wivrn;
|
||||
configFormat = pkgs.formats.json { };
|
||||
|
|
@ -63,13 +64,24 @@ let
|
|||
enabledConfig = optionalString cfg.config.enable "-f ${configFile}";
|
||||
|
||||
# Manage server executables and flags
|
||||
serverExec = concatStringsSep " " (
|
||||
serverCmdline = concatStringsSep " " (
|
||||
[
|
||||
serverPackageExe
|
||||
enabledConfig
|
||||
]
|
||||
++ cfg.extraServerFlags
|
||||
);
|
||||
serverExec =
|
||||
if cfg.steam.enable then
|
||||
lib.getExe (
|
||||
pkgs.writeShellScriptBin "start-wivrn-server" ''
|
||||
# The server needs Steam in PATH to open Steam games from the application launcher
|
||||
export PATH="${makeBinPath [ cfg.steam.package ]}:$PATH"
|
||||
exec -a wivrn-server ${serverCmdline}
|
||||
''
|
||||
)
|
||||
else
|
||||
serverCmdline;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
|
|
@ -184,6 +196,11 @@ in
|
|||
IPC_EXIT_ON_DISCONNECT = "off";
|
||||
PRESSURE_VESSEL_IMPORT_OPENXR_1_RUNTIMES = mkIf cfg.steam.importOXRRuntimes "1";
|
||||
} cfg.monadoEnvironment;
|
||||
# WiVRn scans for .desktop files in $XDG_DATA_DIRS for the application launcher,
|
||||
# which will execute the command in Exec when selected in the headset. If the
|
||||
# Exec path isn't absolute, it will be resolved relative to $PATH, so we must
|
||||
# not override the value of $PATH.
|
||||
enableDefaultPath = false;
|
||||
serviceConfig = (
|
||||
if cfg.highPriority then
|
||||
{
|
||||
|
|
@ -211,8 +228,6 @@ in
|
|||
RestrictSUIDSGID = true;
|
||||
}
|
||||
);
|
||||
# Needs Steam in the PATH to allow launching games from the headset
|
||||
path = mkIf cfg.steam.enable [ cfg.steam.package ];
|
||||
wantedBy = mkIf cfg.autoStart [ "default.target" ];
|
||||
restartTriggers = [
|
||||
cfg.package
|
||||
|
|
|
|||
|
|
@ -243,6 +243,38 @@ def run(
|
|||
return subprocess.run(cmd, check=True, text=True, stdout=stdout, stderr=sys.stderr)
|
||||
|
||||
|
||||
def bootctl_varlink_call(method: str, parameters: dict[str, Any]) -> dict[str, Any]:
|
||||
# Spawn bootctl as a Varlink server on stdio, mirroring what varlinkctl
|
||||
# does when given an executable path. We cannot talk to a running
|
||||
# systemd-bootctl.socket because that would use bootctl from the booted
|
||||
# system rather than the closure we are switching to, does not let us set
|
||||
# SYSTEMD_ESP_PATH/SYSTEMD_XBOOTLDR_PATH, and is unavailable inside
|
||||
# nixos-enter anyway.
|
||||
env = os.environ | {
|
||||
"SYSTEMD_VARLINK_LISTEN": "-",
|
||||
"SYSTEMD_ESP_PATH": str(EFI_SYS_MOUNT_POINT),
|
||||
}
|
||||
if BOOT_MOUNT_POINT != EFI_SYS_MOUNT_POINT:
|
||||
env["SYSTEMD_XBOOTLDR_PATH"] = str(BOOT_MOUNT_POINT)
|
||||
|
||||
proc = subprocess.Popen(
|
||||
[f"{SYSTEMD}/bin/bootctl"],
|
||||
stdin=subprocess.PIPE,
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=sys.stderr,
|
||||
env=env,
|
||||
)
|
||||
assert proc.stdin is not None and proc.stdout is not None
|
||||
request = json.dumps({"method": method, "parameters": parameters}).encode()
|
||||
out, _ = proc.communicate(request + b"\0")
|
||||
reply, _, _ = out.partition(b"\0")
|
||||
if not reply:
|
||||
raise RuntimeError(
|
||||
f"bootctl exited with status {proc.returncode} without a Varlink reply"
|
||||
)
|
||||
return json.loads(reply)
|
||||
|
||||
|
||||
def generation_dir(profile: str | None, generation: int) -> Path:
|
||||
if profile:
|
||||
return Path(
|
||||
|
|
@ -479,55 +511,29 @@ def install_bootloader(args: argparse.Namespace) -> None:
|
|||
+ ["install"]
|
||||
)
|
||||
else:
|
||||
# Update bootloader to latest if needed
|
||||
available_out = run(
|
||||
[f"{SYSTEMD}/bin/bootctl", "--version"], stdout=subprocess.PIPE
|
||||
).stdout.split()[2]
|
||||
installed_out = run(
|
||||
[f"{SYSTEMD}/bin/bootctl", f"--esp-path={EFI_SYS_MOUNT_POINT}", "status"],
|
||||
stdout=subprocess.PIPE,
|
||||
).stdout
|
||||
# Let bootctl compare versions itself. Over Varlink, an already
|
||||
# current binary comes back as an io.systemd.System error carrying
|
||||
# ESTALE, which we can tell apart from real failures.
|
||||
params: dict[str, Any] = {"operation": "update"}
|
||||
if not CAN_TOUCH_EFI_VARIABLES:
|
||||
params["touchVariables"] = False
|
||||
if GRACEFUL:
|
||||
params["graceful"] = True
|
||||
reply = bootctl_varlink_call("io.systemd.BootControl.Install", params)
|
||||
|
||||
# See status_binaries() in systemd bootctl.c for code which generates this
|
||||
# Matches
|
||||
# Available Boot Loaders on ESP:
|
||||
# ESP: /boot (/dev/disk/by-partuuid/9b39b4c4-c48b-4ebf-bfea-a56b2395b7e0)
|
||||
# File: └─/EFI/systemd/systemd-bootx64.efi (systemd-boot 255.2)
|
||||
# But also:
|
||||
# Available Boot Loaders on ESP:
|
||||
# ESP: /boot (/dev/disk/by-partuuid/9b39b4c4-c48b-4ebf-bfea-a56b2395b7e0)
|
||||
# File: ├─/EFI/systemd/HashTool.efi
|
||||
# └─/EFI/systemd/systemd-bootx64.efi (systemd-boot 255.2)
|
||||
installed_match = re.search(
|
||||
r"^\W+.*/EFI/(?:BOOT|systemd)/.*\.efi \(systemd-boot ([\d.]+[^)]*)\)$",
|
||||
installed_out,
|
||||
re.IGNORECASE | re.MULTILINE,
|
||||
)
|
||||
|
||||
available_match = re.search(r"^\((.*)\)$", available_out)
|
||||
|
||||
if installed_match is None:
|
||||
raise Exception(
|
||||
"Could not find any previously installed systemd-boot. If you are switching to systemd-boot from a different bootloader, you need to run `nixos-rebuild switch --install-bootloader`"
|
||||
)
|
||||
|
||||
if available_match is None:
|
||||
raise Exception("could not determine systemd-boot version")
|
||||
|
||||
installed_version = installed_match.group(1)
|
||||
available_version = available_match.group(1)
|
||||
|
||||
if installed_version < available_version:
|
||||
print(
|
||||
"updating systemd-boot from %s to %s"
|
||||
% (installed_version, available_version),
|
||||
file=sys.stderr,
|
||||
)
|
||||
run(
|
||||
[f"{SYSTEMD}/bin/bootctl", f"--esp-path={EFI_SYS_MOUNT_POINT}"]
|
||||
+ bootctl_flags
|
||||
+ ["update"]
|
||||
)
|
||||
error = reply.get("error")
|
||||
if error is not None:
|
||||
error_params = reply.get("parameters") or {}
|
||||
if (
|
||||
error == "io.systemd.System"
|
||||
and error_params.get("errno") == errno.ESTALE
|
||||
):
|
||||
# Same or newer boot loader version already in place.
|
||||
pass
|
||||
else:
|
||||
raise RuntimeError(
|
||||
f"bootctl update failed: {error} {json.dumps(error_params)}"
|
||||
)
|
||||
|
||||
(BOOT_MOUNT_POINT / NIXOS_DIR).mkdir(parents=True, exist_ok=True)
|
||||
(BOOT_MOUNT_POINT / "loader/entries").mkdir(parents=True, exist_ok=True)
|
||||
|
|
|
|||
|
|
@ -623,6 +623,7 @@ in
|
|||
flannel = runTestOn [ "x86_64-linux" ] ./flannel.nix;
|
||||
flap-alerted = runTest ./flap-alerted.nix;
|
||||
flaresolverr = runTest ./flaresolverr.nix;
|
||||
flarum = runTest ./flarum.nix;
|
||||
flood = runTest ./flood.nix;
|
||||
fluent-bit = runTest ./fluent-bit.nix;
|
||||
fluentd = runTest ./fluentd.nix;
|
||||
|
|
|
|||
52
nixos/tests/flarum.nix
Normal file
52
nixos/tests/flarum.nix
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
name = "flarum";
|
||||
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [
|
||||
fsagbuya
|
||||
jasonodoom
|
||||
];
|
||||
};
|
||||
|
||||
nodes.machine =
|
||||
{ ... }:
|
||||
{
|
||||
# Flarum installs and migrates the database on first boot and runs a
|
||||
# MariaDB server alongside PHP-FPM and nginx, so give the VM some headroom.
|
||||
virtualisation.memorySize = 2048;
|
||||
|
||||
services.flarum = {
|
||||
enable = true;
|
||||
forumTitle = "NixOS Flarum Test Forum";
|
||||
domain = "localhost";
|
||||
baseUrl = "http://localhost";
|
||||
|
||||
# Run `flarum install` against the locally provisioned MariaDB. Safe here
|
||||
# because the VM always starts from a fresh, empty database.
|
||||
createDatabaseLocally = true;
|
||||
|
||||
adminUser = "admin";
|
||||
adminEmail = "admin@example.com";
|
||||
# Flarum rejects admin passwords shorter than 8 characters.
|
||||
initialAdminPassword = "flarum-admin-password";
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
# PHP-FPM is ordered after the oneshot installer (Type=oneshot, no
|
||||
# RemainAfterExit), so waiting on it implies the install/migrate finished.
|
||||
machine.wait_for_unit("phpfpm-flarum.service")
|
||||
machine.wait_for_unit("nginx.service")
|
||||
machine.wait_for_open_port(80)
|
||||
|
||||
# The forum front page is server-rendered and embeds the configured title.
|
||||
machine.wait_until_succeeds("curl -sf http://localhost/ -o /dev/null")
|
||||
machine.succeed("curl -sf http://localhost/ | grep -F 'NixOS Flarum Test Forum'")
|
||||
|
||||
# The admin API endpoint should respond, confirming the app booted cleanly.
|
||||
machine.succeed("curl -sf http://localhost/api -o /dev/null")
|
||||
'';
|
||||
}
|
||||
|
|
@ -67,7 +67,7 @@ in
|
|||
|
||||
name = "matrix-authentication-service-upstream";
|
||||
meta = {
|
||||
maintainers = pkgs.matrix-authentication-service.meta.maintainers ++ lib.teams.matrix.members;
|
||||
teams = [ lib.teams.matrix ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
|
|
|
|||
|
|
@ -478,7 +478,6 @@ in
|
|||
return machine.succeed("/run/current-system/bin/switch-to-configuration boot 2>&1")
|
||||
|
||||
output = switch()
|
||||
assert "updating systemd-boot from ${oldVersion} to " in output, "Couldn't find systemd-boot update message"
|
||||
assert 'to "/boot/EFI/systemd/systemd-bootx64.efi"' in output, "systemd-boot not copied to to /boot/EFI/systemd/systemd-bootx64.efi"
|
||||
assert 'to "/boot/EFI/BOOT/BOOTX64.EFI"' in output, "systemd-boot not copied to to /boot/EFI/BOOT/BOOTX64.EFI"
|
||||
|
||||
|
|
@ -489,9 +488,12 @@ in
|
|||
"mv /boot/EFI/BOOT/bootx64.efi.new /boot/EFI/BOOT/bootx64.efi",
|
||||
)
|
||||
output = switch()
|
||||
assert "updating systemd-boot from ${oldVersion} to " in output, "Couldn't find systemd-boot update message"
|
||||
assert 'to "/boot/EFI/systemd/systemd-bootx64.efi"' in output, "systemd-boot not copied to to /boot/EFI/systemd/systemd-bootx64.efi"
|
||||
assert 'to "/boot/EFI/BOOT/BOOTX64.EFI"' in output, "systemd-boot not copied to to /boot/EFI/BOOT/BOOTX64.EFI"
|
||||
|
||||
with subtest("Test that switching with an up-to-date bootloader is a no-op"):
|
||||
output = machine.succeed("/run/current-system/bin/switch-to-configuration boot 2>&1")
|
||||
assert "same boot loader version in place already" in output, "Expected bootctl to skip already-current binary"
|
||||
'';
|
||||
}
|
||||
);
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ in
|
|||
];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
victoriametrics =
|
||||
containers = {
|
||||
vmserver =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = [ pkgs.jq ];
|
||||
|
|
@ -55,14 +55,14 @@ in
|
|||
node.wait_for_unit("prometheus-node-exporter")
|
||||
node.wait_for_open_port(${toString nodeExporterPort})
|
||||
|
||||
victoriametrics.wait_for_unit("victoriametrics")
|
||||
victoriametrics.wait_for_open_port(8428)
|
||||
vmserver.wait_for_unit("victoriametrics")
|
||||
vmserver.wait_for_open_port(8428)
|
||||
|
||||
|
||||
promscrape_config = victoriametrics.succeed("journalctl -u victoriametrics -o cat | grep 'promscrape.config'")
|
||||
promscrape_config = vmserver.succeed("journalctl -u victoriametrics -o cat | grep 'promscrape.config'")
|
||||
assert '${toString promscrapeConfigYaml}' in promscrape_config
|
||||
|
||||
victoriametrics.wait_until_succeeds(
|
||||
vmserver.wait_until_succeeds(
|
||||
"curl -sf 'http://localhost:8428/api/v1/query?query=node_exporter_build_info\{instance=\"node:9100\"\}' | "
|
||||
+ "jq '.data.result[0].value[1]' | grep '\"1\"'"
|
||||
)
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ in
|
|||
];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
victoriametrics =
|
||||
containers = {
|
||||
vmserver =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = [ pkgs.jq ];
|
||||
|
|
@ -34,7 +34,7 @@ in
|
|||
services.vmagent = {
|
||||
enable = true;
|
||||
remoteWrite = {
|
||||
url = "http://victoriametrics:8428/api/v1/write";
|
||||
url = "http://vmserver:8428/api/v1/write";
|
||||
basicAuthUsername = username;
|
||||
basicAuthPasswordFile = toString passwordFile;
|
||||
};
|
||||
|
|
@ -71,13 +71,13 @@ in
|
|||
node.wait_for_unit("prometheus-node-exporter")
|
||||
node.wait_for_open_port(9100)
|
||||
|
||||
victoriametrics.wait_for_unit("victoriametrics")
|
||||
victoriametrics.wait_for_open_port(8428)
|
||||
vmserver.wait_for_unit("victoriametrics")
|
||||
vmserver.wait_for_open_port(8428)
|
||||
|
||||
vmagent.wait_for_unit("vmagent")
|
||||
|
||||
# check remote write
|
||||
victoriametrics.wait_until_succeeds(
|
||||
vmserver.wait_until_succeeds(
|
||||
"curl --user '${username}:${password}' -sf 'http://localhost:8428/api/v1/query?query=node_exporter_build_info\{instance=\"node:9100\"\}' | "
|
||||
+ "jq '.data.result[0].value[1]' | grep '\"1\"'"
|
||||
)
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@
|
|||
];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
victoriametrics =
|
||||
containers = {
|
||||
vmserver =
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = [ pkgs.jq ];
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
static_configs = [
|
||||
{
|
||||
targets = [
|
||||
"alertmanager:${toString config.services.prometheus.alertmanager.port}"
|
||||
"alert:${toString config.services.prometheus.alertmanager.port}"
|
||||
];
|
||||
}
|
||||
];
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
settings = {
|
||||
"datasource.url" = "http://localhost:8428"; # victoriametrics' api
|
||||
"notifier.url" = [
|
||||
"http://alertmanager:${toString config.services.prometheus.alertmanager.port}"
|
||||
"http://alert:${toString config.services.prometheus.alertmanager.port}"
|
||||
]; # alertmanager's api
|
||||
rule = [
|
||||
(pkgs.writeText "instance-down.yml" ''
|
||||
|
|
@ -71,7 +71,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
alertmanager = {
|
||||
alert = {
|
||||
services.prometheus.alertmanager = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
|
|
@ -115,33 +115,33 @@
|
|||
};
|
||||
|
||||
testScript = ''
|
||||
alertmanager.wait_for_unit("alertmanager")
|
||||
alertmanager.wait_for_open_port(9093)
|
||||
alertmanager.wait_until_succeeds("curl -s http://127.0.0.1:9093/-/ready")
|
||||
alert.wait_for_unit("alertmanager")
|
||||
alert.wait_for_open_port(9093)
|
||||
alert.wait_until_succeeds("curl -s http://127.0.0.1:9093/-/ready")
|
||||
|
||||
logger.wait_for_unit("alertmanager-webhook-logger")
|
||||
logger.wait_for_open_port(6725)
|
||||
|
||||
victoriametrics.wait_for_unit("victoriametrics")
|
||||
victoriametrics.wait_for_unit("vmalert")
|
||||
victoriametrics.wait_for_open_port(8428)
|
||||
vmserver.wait_for_unit("victoriametrics")
|
||||
vmserver.wait_for_unit("vmalert")
|
||||
vmserver.wait_for_open_port(8428)
|
||||
|
||||
victoriametrics.wait_until_succeeds(
|
||||
vmserver.wait_until_succeeds(
|
||||
"curl -sf 'http://127.0.0.1:8428/api/v1/query?query=count(up\{job=\"alertmanager\"\}==1)' | "
|
||||
+ "jq '.data.result[0].value[1]' | grep '\"1\"'"
|
||||
)
|
||||
|
||||
victoriametrics.wait_until_succeeds(
|
||||
vmserver.wait_until_succeeds(
|
||||
"curl -sf 'http://127.0.0.1:8428/api/v1/query?query=sum(alertmanager_build_info)%20by%20(version)' | "
|
||||
+ "jq '.data.result[0].metric.version' | grep '\"${pkgs.prometheus-alertmanager.version}\"'"
|
||||
)
|
||||
|
||||
victoriametrics.wait_until_succeeds(
|
||||
vmserver.wait_until_succeeds(
|
||||
"curl -sf 'http://127.0.0.1:8428/api/v1/query?query=count(up\{job=\"node\"\}!=1)' | "
|
||||
+ "jq '.data.result[0].value[1]' | grep '\"1\"'"
|
||||
)
|
||||
|
||||
victoriametrics.wait_until_succeeds(
|
||||
vmserver.wait_until_succeeds(
|
||||
"curl -sf 'http://127.0.0.1:8428/api/v1/query?query=alertmanager_notifications_total\{integration=\"webhook\"\}' | "
|
||||
+ "jq '.data.result[0].value[1]' | grep -v '\"0\"'"
|
||||
)
|
||||
|
|
@ -152,6 +152,6 @@
|
|||
|
||||
logger.log(logger.succeed("systemd-analyze security alertmanager-webhook-logger.service | grep -v '✓'"))
|
||||
|
||||
alertmanager.log(alertmanager.succeed("systemd-analyze security alertmanager.service | grep -v '✓'"))
|
||||
alert.log(alert.succeed("systemd-analyze security alertmanager.service | grep -v '✓'"))
|
||||
'';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
{ pkgs, lib, ... }:
|
||||
let
|
||||
|
||||
customSettings = {
|
||||
pageInfo = {
|
||||
title = "My Custom Dashy Title";
|
||||
|
|
@ -45,29 +44,29 @@ in
|
|||
}
|
||||
];
|
||||
};
|
||||
nodes = {
|
||||
machine = { };
|
||||
containers = {
|
||||
container = { };
|
||||
|
||||
machine-custom = {
|
||||
custom = {
|
||||
services.dashy.settings = customSettings;
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
machine.wait_for_unit("nginx.service")
|
||||
machine.wait_for_open_port(80)
|
||||
container.wait_for_unit("nginx.service")
|
||||
container.wait_for_open_port(80)
|
||||
|
||||
actual = machine.succeed("curl -v --stderr - http://dashy.local/", timeout=10)
|
||||
actual = container.succeed("curl -v --stderr - http://dashy.local/", timeout=10)
|
||||
expected = "<title>Dashy</title>"
|
||||
assert expected in actual, \
|
||||
f"unexpected reply from Dashy, expected: '{expected}' got: '{actual}'"
|
||||
|
||||
machine_custom.wait_for_unit("nginx.service")
|
||||
machine_custom.wait_for_open_port(80)
|
||||
custom.wait_for_unit("nginx.service")
|
||||
custom.wait_for_open_port(80)
|
||||
|
||||
actual_custom = machine_custom.succeed("curl -s --stderr - http://dashy.local/conf.yml", timeout=10).strip()
|
||||
expected_custom = machine_custom.succeed("cat ${customSettingsYaml}").strip()
|
||||
actual_custom = custom.succeed("curl -s --stderr - http://dashy.local/conf.yml", timeout=10).strip()
|
||||
expected_custom = custom.succeed("cat ${customSettingsYaml}").strip()
|
||||
|
||||
assert expected_custom == actual_custom, \
|
||||
f"unexpected reply from Dashy, expected: '{expected_custom}' got: '{actual_custom}'"
|
||||
|
|
|
|||
|
|
@ -21,26 +21,26 @@ vscode-utils.buildVscodeMarketplaceExtension (finalAttrs: {
|
|||
sources = {
|
||||
"x86_64-linux" = {
|
||||
arch = "linux-x64";
|
||||
hash = "sha256-wlsp+GNwhobe7RW2RsBAiSyAjhzJ7w5r9U6LCCpiBA0=";
|
||||
hash = "sha256-fgIxS3c3+teMTMCXzRINFuV1aebJAQFIXfXC7Q2zHhg=";
|
||||
};
|
||||
"aarch64-linux" = {
|
||||
arch = "linux-arm64";
|
||||
hash = "sha256-emj4el3Sy0bWMp+XaU96cS0rOP/b2kthmUHDpuhbinM=";
|
||||
hash = "sha256-LdSx/7CspsT5hff6oQKRFmxQS+vi0kpvCgbcq8OQSAA=";
|
||||
};
|
||||
"x86_64-darwin" = {
|
||||
arch = "darwin-x64";
|
||||
hash = "sha256-zbfo97wQmyrN1QWbP/ZyAcJrYc5TbTge7WncLt+HOcg=";
|
||||
hash = "sha256-ct7RcbzKHiZ/PRl42IFoHroR4i4gDVuHSX1t4FDN+R0=";
|
||||
};
|
||||
"aarch64-darwin" = {
|
||||
arch = "darwin-arm64";
|
||||
hash = "sha256-NScb6fr1OIr1jCo8Gdi71r84e2uT2mrO75JBVPFgdek=";
|
||||
hash = "sha256-N/AeA4E0tSHH3lrPhuyqPDl5nE+aNK/ntsW4ai+Sf5s=";
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
name = "claude-code";
|
||||
publisher = "anthropic";
|
||||
version = "2.1.196";
|
||||
version = "2.1.197";
|
||||
}
|
||||
// sources.${stdenvNoCC.hostPlatform.system}
|
||||
or (throw "Unsupported system ${stdenvNoCC.hostPlatform.system}");
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ assert lib.versionAtLeast python3.version "3.5";
|
|||
let
|
||||
publisher = "vadimcn";
|
||||
pname = "vscode-lldb";
|
||||
version = "1.12.1";
|
||||
version = "1.12.2";
|
||||
|
||||
vscodeExtUniqueId = "${publisher}.${pname}";
|
||||
vscodeExtPublisher = publisher;
|
||||
|
|
@ -26,7 +26,7 @@ let
|
|||
owner = "vadimcn";
|
||||
repo = "codelldb";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-B8iCy4NXG7IzJVncbYm5VoAMfhMfxGF+HW7M5sVn5b0=";
|
||||
hash = "sha256-7//+y02rfDloeNADpoM8tist7fPstBZ2Eqt4dM5dCaE=";
|
||||
};
|
||||
|
||||
lldb = llvmPackages_19.lldb;
|
||||
|
|
@ -181,7 +181,7 @@ stdenv.mkDerivation {
|
|||
description = "Native debugger extension for VSCode based on LLDB";
|
||||
homepage = "https://github.com/vadimcn/vscode-lldb";
|
||||
license = [ lib.licenses.mit ];
|
||||
maintainers = [ lib.maintainers.r4v3n6101 ];
|
||||
maintainers = [ ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -480,13 +480,15 @@ let
|
|||
# BUNDLE_WIDEVINE_CDM build flag does work in the way we want though.
|
||||
# We also need enable_widevine_cdm_component to be false. Unfortunately it isn't exposed as gn
|
||||
# flag (declare_args) so we simply hardcode it to false.
|
||||
./patches/widevine-disable-auto-download-allow-bundle.patch
|
||||
./patches/${lib.optionalString (chromiumVersionAtLeast "150") "chromium-150-"}widevine-disable-auto-download-allow-bundle.patch
|
||||
]
|
||||
++ [
|
||||
++ lib.optionals (!chromiumVersionAtLeast "150") [
|
||||
# Required to fix the build with a more recent wayland-protocols version
|
||||
# (we currently package 1.26 in Nixpkgs while Chromium bundles 1.21):
|
||||
# Source: https://bugs.chromium.org/p/angleproject/issues/detail?id=7582#c1
|
||||
./patches/angle-wayland-include-protocol.patch
|
||||
]
|
||||
++ [
|
||||
# Chromium reads initial_preferences from its own executable directory
|
||||
# This patch modifies it to read /etc/chromium/initial_preferences
|
||||
./patches/chromium-initial-prefs.patch
|
||||
|
|
@ -504,11 +506,16 @@ let
|
|||
# allowing us to use our rustc and our clang.
|
||||
./patches/chromium-140-rust.patch
|
||||
]
|
||||
++ lib.optionals (chromiumVersionAtLeast "141") [
|
||||
++ lib.optionals (versionRange "141" "150") [
|
||||
# Rebased variant of the patch above due to
|
||||
# https://chromium-review.googlesource.com/c/chromium/src/+/6897026
|
||||
./patches/chromium-141-rust.patch
|
||||
]
|
||||
++ lib.optionals (chromiumVersionAtLeast "150") [
|
||||
# Rebased variant of the patch above due to
|
||||
# https://chromium-review.googlesource.com/c/chromium/src/+/7858711
|
||||
./patches/chromium-150-rust.patch
|
||||
]
|
||||
++ lib.optionals (!chromiumVersionAtLeast "145" && stdenv.hostPlatform.isAarch64) [
|
||||
# Reverts decommit pooled pages which causes random crashes of tabs on systems
|
||||
# with page sizes different than 4k. It 'supports' runtime page sizes, but has
|
||||
|
|
@ -676,6 +683,17 @@ let
|
|||
revert = true;
|
||||
hash = "sha256-7xg8IZ2gO+Wtnv7lWLVE3lLpcmMgvtDtcWwUuMBzkrE=";
|
||||
})
|
||||
]
|
||||
++ lib.optionals (versionRange "150" "151") [
|
||||
# ninja: Entering directory `out/Release'
|
||||
# ninja: error: 'ar', needed by 'default_for_rust_host_build_tools/obj/build/rust/allocator/liballoc_error_handler_impl.a', missing and no known rule to make it
|
||||
(fetchpatch {
|
||||
name = "chromium-150-backport-build--Omit-ar-from-inputs-when-resolved-via--PATH.patch";
|
||||
# https://chromium-review.googlesource.com/c/chromium/src/+/7904982
|
||||
url = "https://chromium.googlesource.com/chromium/src/+/60f987d8d5f7272793a40290d060b8f50933f825^!?format=TEXT";
|
||||
decode = "base64 -d";
|
||||
hash = "sha256-MryWxSwBxSIONhl3X1cDxTWwNWy8a4yt/sqkrueSUNs=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch =
|
||||
|
|
@ -910,6 +928,12 @@ let
|
|||
# TODO: remove opt-out of https://chromium.googlesource.com/chromium/src/+/main/docs/modules.md
|
||||
use_clang_modules = false;
|
||||
}
|
||||
// lib.optionalAttrs (chromiumVersionAtLeast "150") {
|
||||
# ERROR at //build/modules/BUILD.gn:80:23: Directory does not exist: /usr/include/
|
||||
# system_headers += expand_directory("${sysroot}/${root_include_dir}", true)
|
||||
# ^------------------------------------------------------
|
||||
use_unified_system_module = false;
|
||||
}
|
||||
// {
|
||||
use_qt5 = false;
|
||||
use_qt6 = false;
|
||||
|
|
@ -986,24 +1010,34 @@ let
|
|||
runHook postConfigure
|
||||
'';
|
||||
|
||||
# Chromium expects nightly/bleeding edge rustc features to be available.
|
||||
# Our rustc in nixpkgs follows stable, but since bootstrapping rustc requires
|
||||
# nightly features too, we can (ab-)use RUSTC_BOOTSTRAP here as well to
|
||||
# enable those features in our stable builds.
|
||||
env.RUSTC_BOOTSTRAP = 1;
|
||||
# Mute some warnings that are enabled by default. This is useful because
|
||||
# our Clang is always older than Chromium's and the build logs have a size
|
||||
# of approx. 25 MB without this option (and this saves e.g. 66 %).
|
||||
env.NIX_CFLAGS_COMPILE =
|
||||
"-Wno-unknown-warning-option -Wno-unused-command-line-argument -Wno-shadow"
|
||||
# warning: '_LIBCPP_HARDENING_MODE' macro redefined [-Wmacro-redefined]
|
||||
# because of hardeningDisable = [ "strictflexarrays1" ];
|
||||
+ lib.optionalString (chromiumVersionAtLeast "149") " -Wno-macro-redefined";
|
||||
env.BUILD_CC = "$CC_FOR_BUILD";
|
||||
env.BUILD_CXX = "$CXX_FOR_BUILD";
|
||||
env.BUILD_AR = "$AR_FOR_BUILD";
|
||||
env.BUILD_NM = "$NM_FOR_BUILD";
|
||||
env.BUILD_READELF = "$READELF_FOR_BUILD";
|
||||
env = {
|
||||
# Chromium expects nightly/bleeding edge rustc features to be available.
|
||||
# Our rustc in nixpkgs follows stable, but since bootstrapping rustc requires
|
||||
# nightly features too, we can (ab-)use RUSTC_BOOTSTRAP here as well to
|
||||
# enable those features in our stable builds.
|
||||
RUSTC_BOOTSTRAP = 1;
|
||||
|
||||
# Mute some warnings that are enabled by default. This is useful because
|
||||
# our Clang is always older than Chromium's and the build logs have a size
|
||||
# of approx. 25 MB without this option (and this saves e.g. 66 %).
|
||||
NIX_CFLAGS_COMPILE =
|
||||
"-Wno-unknown-warning-option -Wno-unused-command-line-argument -Wno-shadow"
|
||||
# warning: '_LIBCPP_HARDENING_MODE' macro redefined [-Wmacro-redefined]
|
||||
# because of hardeningDisable = [ "strictflexarrays1" ];
|
||||
+ lib.optionalString (chromiumVersionAtLeast "149") " -Wno-macro-redefined";
|
||||
|
||||
BUILD_CC = "$CC_FOR_BUILD";
|
||||
BUILD_CXX = "$CXX_FOR_BUILD";
|
||||
BUILD_AR = "$AR_FOR_BUILD";
|
||||
BUILD_NM = "$NM_FOR_BUILD";
|
||||
BUILD_READELF = "$READELF_FOR_BUILD";
|
||||
}
|
||||
// lib.optionalAttrs (chromiumVersionAtLeast "150") {
|
||||
# [56385/56385] LINK ./chrome
|
||||
# FAILED: [code=1] chrome
|
||||
# /nix/store/[...]/bin/ld.lld: line 288: /nix/store/[...]/bin/ld.lld: Argument list too long
|
||||
NIX_LD_USE_RESPONSE_FILE = 1;
|
||||
};
|
||||
|
||||
buildPhase =
|
||||
let
|
||||
|
|
|
|||
|
|
@ -43,7 +43,14 @@ class Repo:
|
|||
)
|
||||
|
||||
deps_file = self.get_file("DEPS")
|
||||
evaluated = gclient_eval.Parse(deps_file, vars_override=repo_vars, filename="DEPS")
|
||||
evaluated = gclient_eval.Parse(
|
||||
deps_file,
|
||||
filename="DEPS",
|
||||
vars_override=repo_vars,
|
||||
# KeyError: "host_cpu was used as a variable, but was not declared in the vars dict (file 'DEPS', line 114)"
|
||||
# https://chromium.googlesource.com/webpagereplay.git/+/b2b856131e36c99e9de9c419fe8ca02f857082ba/DEPS#114
|
||||
builtin_vars= {"host_cpu": "*host_cpu_placeholder*"} if path == "src/third_party/webpagereplay" else None,
|
||||
)
|
||||
|
||||
repo_vars = dict(evaluated.get("vars", {})) | repo_vars
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"chromium": {
|
||||
"version": "149.0.7827.200",
|
||||
"version": "150.0.7871.46",
|
||||
"chromedriver": {
|
||||
"version": "149.0.7827.201",
|
||||
"hash_darwin": "sha256-MHCcid+7wdYm8uIdrUIlXrk8ADHNUUXzPyMPFGP98WY=",
|
||||
|
|
@ -8,21 +8,21 @@
|
|||
},
|
||||
"deps": {
|
||||
"depot_tools": {
|
||||
"rev": "45dedc4c3b87c982fd846b3dc599b233ed3aff90",
|
||||
"hash": "sha256-Ttklyw6IdNeMExlzeiQg/qsCkTmqVhUJ34MFgYmCWD4="
|
||||
"rev": "f4fadaf6a5ba1bced9d3d9021060667b563bf583",
|
||||
"hash": "sha256-3atvbwYnFTA40MonAxSQWkF58Jku7O7fUzelGPQvDyY="
|
||||
},
|
||||
"gn": {
|
||||
"version": "0-unstable-2026-05-01",
|
||||
"rev": "1740f5c25bcac5a650ee3d1c1ec22bfa25fcd756",
|
||||
"hash": "sha256-oFs7fZAZEs/gQ7X1A4uigo9+Y+iEN9sMMQYwAjEuD04="
|
||||
"version": "0-unstable-2026-05-27",
|
||||
"rev": "3357c4f51b1a9e676378c695dd9c7e9911c35ee6",
|
||||
"hash": "sha256-/1A+DkzAQj2zGPe/A/G0Z3VrYJXUxq4Hd/+d/o5p3G8="
|
||||
},
|
||||
"npmHash": "sha256-pF0JtwFpPC4/fodbhSJnQKkczA9WlDg4VqEAy9aDVLg="
|
||||
},
|
||||
"DEPS": {
|
||||
"src": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src.git",
|
||||
"rev": "c35c164b1b6d1adca9eddf914ed6d0d0743dba6a",
|
||||
"hash": "sha256-b2gBRUzRjqVZEb/tWUL1JF6Afq5gHJ3aOM02My1FyYU=",
|
||||
"rev": "5b586c06e0d27582900f17e2d59c5370d8d6e0bb",
|
||||
"hash": "sha256-OAZNyZtR5WFWW42r74RSy9fT7Eb7CNZwzoIHhuoqR28=",
|
||||
"recompress": true
|
||||
},
|
||||
"src/third_party/clang-format/script": {
|
||||
|
|
@ -32,13 +32,13 @@
|
|||
},
|
||||
"src/third_party/compiler-rt/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt.git",
|
||||
"rev": "0408cce08083f3d81379ed7d9f5bd26c03e1495b",
|
||||
"hash": "sha256-kR5osTmp2girvNRVHzEKMZDCelgux9RrRuMoXMCRSGM="
|
||||
"rev": "03641f7a5b05e48e318d64369057db577cafc594",
|
||||
"hash": "sha256-KnWESGG6aI0S+fkJ3/T1x4QSiIYaOOvWUAm6l6l9iME="
|
||||
},
|
||||
"src/third_party/libc++/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git",
|
||||
"rev": "be1c391acca009d8d80535ce924e3d285451cdfa",
|
||||
"hash": "sha256-zKb9PUiiBvhVhWnbQwR8uOFJ9gt3uYmfJ4M9ijpgKRc="
|
||||
"rev": "5abc7f839700f0f17338434e1c1c6a8c87c00c11",
|
||||
"hash": "sha256-vT1km7JgVpotDoNK+ae1gplSHcwrVNLsv/QAFUrDsIM="
|
||||
},
|
||||
"src/third_party/libc++abi/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git",
|
||||
|
|
@ -47,13 +47,13 @@
|
|||
},
|
||||
"src/third_party/libunwind/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git",
|
||||
"rev": "71192be150bbe04d87bb5298512d464e38d2f654",
|
||||
"hash": "sha256-PxXemxdWZoEavKDOovi67IVWEr2YW8YK2F0LXM3LZPw="
|
||||
"rev": "d6c7a21e978f0adaa43accaad53bc64f0b64f6ec",
|
||||
"hash": "sha256-EuaVSYiR7qrlYqBR0UqdWCvwdzJSn0RS2wC/lnP19AE="
|
||||
},
|
||||
"src/third_party/llvm-libc/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git",
|
||||
"rev": "deb95b5e48e875920a2eaae799c8dbcd76a6a4db",
|
||||
"hash": "sha256-oAgIT3+vjBrX86jgi/Pb0SCyco0lozjBjXlrKm6i56M="
|
||||
"rev": "6e5ec6f78d8b9f2e8a50fcc5692d1fc8b2964bde",
|
||||
"hash": "sha256-qrkx8Z1fc088Ja32obIUPxDwklI7i1wdEw051UZ08u8="
|
||||
},
|
||||
"src/chrome/test/data/perf/canvas_bench": {
|
||||
"url": "https://chromium.googlesource.com/chromium/canvas_bench.git",
|
||||
|
|
@ -72,8 +72,8 @@
|
|||
},
|
||||
"src/docs/website": {
|
||||
"url": "https://chromium.googlesource.com/website.git",
|
||||
"rev": "c9a9ad55e9ec9934244e58a5a8cab9a295526010",
|
||||
"hash": "sha256-2GKWEnlExrTzoIYMxeP4n2klLLT/phB5ZVJ5Nj3/aoY="
|
||||
"rev": "3da515a67f412be05ea1ea6b39832a69aef8f54e",
|
||||
"hash": "sha256-wrkFsPX7jrsjD/Ow1gna/xLvk0E49m5GVxP1G7Vx7HM="
|
||||
},
|
||||
"src/media/cdm/api": {
|
||||
"url": "https://chromium.googlesource.com/chromium/cdm.git",
|
||||
|
|
@ -82,8 +82,8 @@
|
|||
},
|
||||
"src/net/third_party/quiche/src": {
|
||||
"url": "https://quiche.googlesource.com/quiche.git",
|
||||
"rev": "fafc2fe9efc9f2e28a0815229fc14ca30c266ba8",
|
||||
"hash": "sha256-4UmjE41MOFCBa3APDMyyJwkeV6LhHl5UsMxZpPRDsRY="
|
||||
"rev": "997d654308b6a1a17435e472ef5190aecb12e3eb",
|
||||
"hash": "sha256-xgDgW2foZZEWpr0ibSG21kf028FN07/1ecOqFCkNj/I="
|
||||
},
|
||||
"src/testing/libfuzzer/fuzzers/wasm_corpus": {
|
||||
"url": "https://chromium.googlesource.com/v8/fuzzer_wasm_corpus.git",
|
||||
|
|
@ -92,8 +92,8 @@
|
|||
},
|
||||
"src/third_party/angle": {
|
||||
"url": "https://chromium.googlesource.com/angle/angle.git",
|
||||
"rev": "355cc61af2aadd8f0494800325b2bf9908138108",
|
||||
"hash": "sha256-fgaCyO0oaz90aTaWMHH8ocySA0hXDHsPEl6vtMj4BY0="
|
||||
"rev": "bbf3d8a4755268f016087be2f56099fa5a5f3f6e",
|
||||
"hash": "sha256-8iuHtNgHumlMXeXj2k0ZPcvnTeJ00di298+789OjScs="
|
||||
},
|
||||
"src/third_party/angle/third_party/glmark2/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2",
|
||||
|
|
@ -107,13 +107,18 @@
|
|||
},
|
||||
"src/third_party/angle/third_party/VK-GL-CTS/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS",
|
||||
"rev": "3fe33a325af90c1c820b1e8109f11ea0f4b60c9b",
|
||||
"hash": "sha256-JgOdlwtjC5HiCWBAaeM+Ffp9KlbI7+erT0ZRZBlWxXI="
|
||||
"rev": "01471f4b3846c97eceb5b16b8acad950808791b2",
|
||||
"hash": "sha256-SrL+G3osTtJGQslfCBEYbslb2kWtHRrwO87PHi+5o6E="
|
||||
},
|
||||
"src/third_party/anonymous_tokens/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git",
|
||||
"rev": "208ea23596884f6d86476ea88b64e7931cdec08a",
|
||||
"hash": "sha256-HLUX0mUzA3xcXbw71sIxFBNEkL8x86urcdJH2Yuuy04="
|
||||
"rev": "92d1fdf881a932e7aa2a9b20e006136a659c7a20",
|
||||
"hash": "sha256-llPt+UR8hY0yaJkYmq+A3ZfRRReuaXN09qpap6C28jc="
|
||||
},
|
||||
"src/third_party/aria-practices/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/w3c/aria-practices.git",
|
||||
"rev": "7b134ce6d19497cce8a67db4a9f59980baf853dc",
|
||||
"hash": "sha256-POnvoO1KfzJj4CbcMPI0pUTRk5EtHLTOyKKmJCZdXOc="
|
||||
},
|
||||
"src/third_party/readability/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/mozilla/readability.git",
|
||||
|
|
@ -127,13 +132,13 @@
|
|||
},
|
||||
"src/third_party/dav1d/libdav1d": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git",
|
||||
"rev": "5cfc3832687e3229117203905faf5425ac6bc0d7",
|
||||
"hash": "sha256-MWDDrb8P5AIFszY0u5gCrK+kZlbYffIt9Y1b/thXL7I="
|
||||
"rev": "62501cc7db378532d7e85ea434b70d57e1ba2cb0",
|
||||
"hash": "sha256-5cpKTUnhR+QzQJR4KbAvdvqsWnT1fpH0g9MObv8Nx0c="
|
||||
},
|
||||
"src/third_party/dawn": {
|
||||
"url": "https://dawn.googlesource.com/dawn.git",
|
||||
"rev": "54b4153cfef88e048f365f99b962478f0087dfe8",
|
||||
"hash": "sha256-Bv30zz/pCNVzUl+mKCpusWc94poytv9ZFelZIcs+2B8="
|
||||
"rev": "01249a97332468dbdd6cf5edb8dd7bae77875de5",
|
||||
"hash": "sha256-tzomo+GTec2zixxk61gtlma/sjcBImgbLMwA+mIp1LM="
|
||||
},
|
||||
"src/third_party/dawn/third_party/glfw3/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/glfw/glfw",
|
||||
|
|
@ -142,8 +147,8 @@
|
|||
},
|
||||
"src/third_party/dawn/third_party/directx-shader-compiler/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectXShaderCompiler",
|
||||
"rev": "d73829d4e677ef00931e8e57de6d544396ab46cb",
|
||||
"hash": "sha256-BIXNgVeF5x3BZWFWZ1Gz+zpNSOEl+hZWB0GgMEaNS2w="
|
||||
"rev": "35c1b99e9e552267da5efaea07c003e322d65777",
|
||||
"hash": "sha256-pzBk+jUp/FUV8ahHquE0942Qw/DjAUemSM9fxdFJ0JA="
|
||||
},
|
||||
"src/third_party/dawn/third_party/directx-headers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectX-Headers",
|
||||
|
|
@ -152,8 +157,8 @@
|
|||
},
|
||||
"src/third_party/dawn/third_party/OpenGL-Registry/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry",
|
||||
"rev": "9cb90ca4902d588bef3c830fbb1da484893bd5fb",
|
||||
"hash": "sha256-mWVORjrbNFINr5WKAIDVnPs2T+96vkxWqZdJwp8oT9I="
|
||||
"rev": "a30033d3e812c9bf10094f1010374a6b15e192eb",
|
||||
"hash": "sha256-xLacUOSy783bCtv+wUnjVnNLwTQ3eLwUJtYXmELqekY="
|
||||
},
|
||||
"src/third_party/dawn/third_party/EGL-Registry/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/EGL-Registry",
|
||||
|
|
@ -162,8 +167,8 @@
|
|||
},
|
||||
"src/third_party/dawn/third_party/webgpu-cts": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts",
|
||||
"rev": "5c6b119c4fa0d9059c45f7637df1fe26fc80a6e4",
|
||||
"hash": "sha256-9DAdS2u2YtrCFJu0KTuwRJjTUNexFxdmnn7LkwQ+KiQ="
|
||||
"rev": "f08551b0fc4d6cfa5ba582a0235b571aa363102d",
|
||||
"hash": "sha256-f5kWMnaod/Ved1Fz/vTkdL0ihSUnNM8XN5Ht3Vs1YpU="
|
||||
},
|
||||
"src/third_party/dawn/third_party/webgpu-headers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/webgpu-native/webgpu-headers",
|
||||
|
|
@ -187,8 +192,8 @@
|
|||
},
|
||||
"src/third_party/boringssl/src": {
|
||||
"url": "https://boringssl.googlesource.com/boringssl.git",
|
||||
"rev": "65818adf16411ca394625f5747a1af28faf95d2c",
|
||||
"hash": "sha256-tcTTzQnBp8Od1jdDMrFoCr9bnW0OCjGqUjH3QMnusmo="
|
||||
"rev": "3a9254f16eda7a4c5d2260039ff23456a0a34de4",
|
||||
"hash": "sha256-JuMnNppWhIFHYfk6ANIZLC7ABhqMseoV5LYV7slevBE="
|
||||
},
|
||||
"src/third_party/breakpad/breakpad": {
|
||||
"url": "https://chromium.googlesource.com/breakpad/breakpad.git",
|
||||
|
|
@ -202,13 +207,8 @@
|
|||
},
|
||||
"src/third_party/catapult": {
|
||||
"url": "https://chromium.googlesource.com/catapult.git",
|
||||
"rev": "6e4188cabb4f37314ea41e9adfcb2cf9b64e2641",
|
||||
"hash": "sha256-/kleYYllR22KjxHT2gTMGf6LEUZ1Ud7j593fIIAgqAA="
|
||||
},
|
||||
"src/third_party/catapult/third_party/webpagereplay": {
|
||||
"url": "https://chromium.googlesource.com/webpagereplay.git",
|
||||
"rev": "b7ac48f52cd298e966a76eb054412915c3e445d4",
|
||||
"hash": "sha256-smtwB6vzLgCAePz0jNfrpm8TxrxBnBkigLxERhxUEvE="
|
||||
"rev": "2852bb7e91e4995502ffb72b7ed21412ee157914",
|
||||
"hash": "sha256-XYufVvzOXD4voZUWUvumQQqLNsx9sy0QmQzNzrgNEWg="
|
||||
},
|
||||
"src/third_party/ced/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git",
|
||||
|
|
@ -227,13 +227,13 @@
|
|||
},
|
||||
"src/third_party/cpu_features/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/cpu_features.git",
|
||||
"rev": "d3b2440fcfc25fe8e6d0d4a85f06d68e98312f5b",
|
||||
"hash": "sha256-IBJc1sHHh4G3oTzQm1RAHHahsEECC+BDl14DHJ8M1Ys="
|
||||
"rev": "81d13c49649f0714dd41fb56bb246398b6584085",
|
||||
"hash": "sha256-TrC1WMLAhko57rAyDCiAC/IJ0unAqVhyjkh7gKibyi4="
|
||||
},
|
||||
"src/third_party/cpuinfo/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git",
|
||||
"rev": "3681f0ce1446167d01dfe125d6db96ba2ac31c3c",
|
||||
"hash": "sha256-PhWbzQgZSUb3eVyx+JTSnxVOAC2WzL2Dw1I9/6LEIsw="
|
||||
"rev": "ea6b9f1bb6e1001d8b21574d5bc78ddef62e499d",
|
||||
"hash": "sha256-/QsOjDik0TnH3FnK7LOwsJkvX+O+2DRFX4eF3MxD3fc="
|
||||
},
|
||||
"src/third_party/crc32c/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/crc32c.git",
|
||||
|
|
@ -242,28 +242,28 @@
|
|||
},
|
||||
"src/third_party/cros_system_api": {
|
||||
"url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git",
|
||||
"rev": "7ecd2b41460516ecd7b7d6e5c298db25e1436b6f",
|
||||
"hash": "sha256-ehbAXv4DZStWDMC3iOjmWkAc4PhAamyI4C9bdXO7FfA="
|
||||
"rev": "1c69e700a01a7fd3dd331f526c8a31ac1e5e49d0",
|
||||
"hash": "sha256-qIwUs0KVU9xYFLN3UUayPLfz0ObA+EN6owKPW61J/5w="
|
||||
},
|
||||
"src/third_party/crossbench": {
|
||||
"url": "https://chromium.googlesource.com/crossbench.git",
|
||||
"rev": "cecd70a5f49f777f603d38d11ac1f66c03c3e8af",
|
||||
"hash": "sha256-zLwIY8fQVebkfN4KFMbitZODhmiN65JK2s9IG/5Cd+o="
|
||||
"rev": "7d52b4ffbc319a7d5a0e0a0ebff744e5281d60c5",
|
||||
"hash": "sha256-iwwvvIOuRMo/ZEu8Gk0lZaS4P5uGt8zpnYMChpZPcUo="
|
||||
},
|
||||
"src/third_party/crossbench-web-tests": {
|
||||
"url": "https://chromium.googlesource.com/chromium/web-tests.git",
|
||||
"rev": "baf176aadedccc44329231d5dd40346874c2a63e",
|
||||
"hash": "sha256-oY1/uGB6ykePIklWe35rmJWsnpu/wjkER4TJeP4TTdw="
|
||||
"rev": "7b3de17542cc613aaddbfc72c6e12be37eed7b73",
|
||||
"hash": "sha256-7ly4vaK+Pj4y91t6Q+igQ0890CqKyu9jNBhJnxbNGjI="
|
||||
},
|
||||
"src/third_party/depot_tools": {
|
||||
"url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git",
|
||||
"rev": "45dedc4c3b87c982fd846b3dc599b233ed3aff90",
|
||||
"hash": "sha256-Ttklyw6IdNeMExlzeiQg/qsCkTmqVhUJ34MFgYmCWD4="
|
||||
"rev": "f4fadaf6a5ba1bced9d3d9021060667b563bf583",
|
||||
"hash": "sha256-3atvbwYnFTA40MonAxSQWkF58Jku7O7fUzelGPQvDyY="
|
||||
},
|
||||
"src/third_party/devtools-frontend/src": {
|
||||
"url": "https://chromium.googlesource.com/devtools/devtools-frontend",
|
||||
"rev": "33c2f401a9c8ddad2159eb0ab83aa244a5247361",
|
||||
"hash": "sha256-M9aULI+HECgA0ptAG47OPK0QuB+xzmb29iOtJ3whpB0="
|
||||
"rev": "1d67dc0dafa344bbd6ca75c124e2d6d9d53074d8",
|
||||
"hash": "sha256-VBXch2YwnKm+lMcZ5L0SlW+vAYeaSwgZvcOhg1TE5/A="
|
||||
},
|
||||
"src/third_party/dom_distiller_js/dist": {
|
||||
"url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git",
|
||||
|
|
@ -277,8 +277,8 @@
|
|||
},
|
||||
"src/third_party/eigen3/src": {
|
||||
"url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git",
|
||||
"rev": "2cf9891537250255f50df5109ffe9e700e2a73de",
|
||||
"hash": "sha256-1bu1Y9itHIKcwY5J0sF08DSyfElLHiZ6SRsNZkFjz8o="
|
||||
"rev": "662ba79d796a2851b10cdafc6668e45b65b1120f",
|
||||
"hash": "sha256-6bZFDeo7TqWNunkkQv8OJ+7/hfKwoIUtqZoXaeLp6M8="
|
||||
},
|
||||
"src/third_party/farmhash/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git",
|
||||
|
|
@ -287,18 +287,18 @@
|
|||
},
|
||||
"src/third_party/fast_float/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/fastfloat/fast_float.git",
|
||||
"rev": "05087a303dad9c98768b33c829d398223a649bc6",
|
||||
"hash": "sha256-ZQm8kDMYdwjKugc2vBG5mwTqXa01u6hODQc/Tai2I9A="
|
||||
"rev": "cfd12ebcf1f82c4fd44a950b1815dd0549bc8d89",
|
||||
"hash": "sha256-hzoB+Mmok3oe6B494uLc5ReWpUcB89zCGPYw4gvanK0="
|
||||
},
|
||||
"src/third_party/federated_compute/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google-parfait/federated-compute.git",
|
||||
"rev": "3112513bf1a80872311e7718c5385f535a819b89",
|
||||
"hash": "sha256-jnG3PCxjaYcClRgzOfIkHbbD3xU9TDLyQR3VZUwHIgU="
|
||||
"rev": "8de5837b817f28abc54a387a9417631b905ba90a",
|
||||
"hash": "sha256-GZYo0FjgW8XCplAi6jzzruwDlIzsWjNEVQuCwXBCPz8="
|
||||
},
|
||||
"src/third_party/ffmpeg": {
|
||||
"url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git",
|
||||
"rev": "f45bab87ce4c5fafc67fd53fcde777578d01bfa0",
|
||||
"hash": "sha256-fsZSqmG6vFOPJYuBgG6OSWkzRu27B3mv/PqAP8s4ARk="
|
||||
"rev": "ad41607c61898cf7150e0fb20fe4bbabd44922a3",
|
||||
"hash": "sha256-41qpsOTedB51WMzzHXDiXA19OIzA7wG/Qgbz6IkmWpk="
|
||||
},
|
||||
"src/third_party/flac": {
|
||||
"url": "https://chromium.googlesource.com/chromium/deps/flac.git",
|
||||
|
|
@ -327,8 +327,8 @@
|
|||
},
|
||||
"src/third_party/freetype/src": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git",
|
||||
"rev": "b6bcd2177f72bb4842c7701d7b7f633bb3fc951a",
|
||||
"hash": "sha256-TUz3yUD9HxqUMCOpLk74rEf8J0tMTh4ZCuD94AD4+q4="
|
||||
"rev": "b08a2eb0dd37f4a6c886fa5b0ecf5b3e1d27aac7",
|
||||
"hash": "sha256-xnYeUAJx5n8LSg04AknfiudonfmlUdlj8nzHzSZi65I="
|
||||
},
|
||||
"src/third_party/fxdiv/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FXdiv.git",
|
||||
|
|
@ -337,13 +337,13 @@
|
|||
},
|
||||
"src/third_party/harfbuzz/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git",
|
||||
"rev": "e6741e2205309752839da60ff075b7fa2e7cddd3",
|
||||
"hash": "sha256-XjUuY17fcZi+dIZFojq+eDsDVrBxtAWRydPdudt56+8="
|
||||
"rev": "d639197ed529b05c27f38ebaab365a621d5edad5",
|
||||
"hash": "sha256-uT4zK2hwHzEH6Nrd2rAeyzpQA1TmwtrdcujKYEUbLsY="
|
||||
},
|
||||
"src/third_party/ink/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/ink.git",
|
||||
"rev": "a988417b6d0b1ea03fb0b40269fbc42313acc6fd",
|
||||
"hash": "sha256-6O+N/ULn8sqsdgFw7VZ7TMjWvCAZbYo398PruPScU/k="
|
||||
"rev": "0f9c6172b2ccc6b830ae313d522caf09e6933e06",
|
||||
"hash": "sha256-LF+OcqNeg+KRuYmGuMZb4tmnr53sZHn/ZW1jg9ArPfc="
|
||||
},
|
||||
"src/third_party/instrumented_libs": {
|
||||
"url": "https://chromium.googlesource.com/chromium/third_party/instrumented_libraries.git",
|
||||
|
|
@ -367,8 +367,8 @@
|
|||
},
|
||||
"src/third_party/libgav1/src": {
|
||||
"url": "https://chromium.googlesource.com/codecs/libgav1.git",
|
||||
"rev": "40f58ed32ff39071c3f2a51056dbc49a070af0dc",
|
||||
"hash": "sha256-gisU0p0HDL7Po/ZXIIZVOTnxnOuVvSE/FYo9DaEUFfo="
|
||||
"rev": "66ac17620652635392f6ab24065c77b035e281c9",
|
||||
"hash": "sha256-6/zMaX2DPSKpsaqirhrgi3nL/88Qr2VXacmyL5IyJ3U="
|
||||
},
|
||||
"src/third_party/googletest/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/googletest.git",
|
||||
|
|
@ -392,8 +392,8 @@
|
|||
},
|
||||
"src/third_party/jsoncpp/source": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git",
|
||||
"rev": "42e892d96e47b1f6e29844cc705e148ec4856448",
|
||||
"hash": "sha256-bSLNcoYBz3QCt5VuTR056V9mU2PmBuYBa0W6hFg2m8Q="
|
||||
"rev": "d4d072177213b117fb81d4cfda140de090616161",
|
||||
"hash": "sha256-q+DOwkjRlHacgfWf5UVY02aqfnKK9M/1YRBX6aMce9g="
|
||||
},
|
||||
"src/third_party/leveldatabase/src": {
|
||||
"url": "https://chromium.googlesource.com/external/leveldb.git",
|
||||
|
|
@ -407,8 +407,8 @@
|
|||
},
|
||||
"src/third_party/fuzztest/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git",
|
||||
"rev": "e24a91020ab19c3d6f590bd0911b7acb492f81be",
|
||||
"hash": "sha256-wFjuvJzGEaal+pIo5UtkdLHYTpoWxRE6Vf5OGLObGQk="
|
||||
"rev": "da27bcae1a8902af1ae6a5c55d3674f22709bbf5",
|
||||
"hash": "sha256-317zRhJPc0D9A58W8fdCGFmpNZ5vACfd/tlZOsp/Cvw="
|
||||
},
|
||||
"src/third_party/domato/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/googleprojectzero/domato.git",
|
||||
|
|
@ -417,18 +417,18 @@
|
|||
},
|
||||
"src/third_party/libaddressinput/src": {
|
||||
"url": "https://chromium.googlesource.com/external/libaddressinput.git",
|
||||
"rev": "e20690c8d5178bb282641d5eb06ef0298ff4cbc5",
|
||||
"hash": "sha256-rX7LQNUgk5ZljUrayD1a/SUrBrvpomW0Cs0KBw3lYu4="
|
||||
"rev": "81eb9628382b07d371d8ea0b11badf7de3857fd5",
|
||||
"hash": "sha256-6yDZpZ+CwxGqNO4+lZLFB6ESREeVku1BoOMtR+hKQ3I="
|
||||
},
|
||||
"src/third_party/libaom/source/libaom": {
|
||||
"url": "https://aomedia.googlesource.com/aom.git",
|
||||
"rev": "33dba9e12a9f12e737eaa7c2624e8c580950a89a",
|
||||
"hash": "sha256-01DbV0kQFg1yyFpVeo82KBoZHhizA7xnZ1qOuu4HTcs="
|
||||
"rev": "137bcff61e73fdd2836dc04e8258bfb49cef595e",
|
||||
"hash": "sha256-oDubKvgqMk3w0luM//rR3NnCOk1h/WVTyRkuCmYASrw="
|
||||
},
|
||||
"src/third_party/crabbyavif/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/webmproject/CrabbyAvif.git",
|
||||
"rev": "c433c9a32320aed983e4106931596fbbae3f77ee",
|
||||
"hash": "sha256-yw1cXB6s6biD2vj2K/3sVbKiaNK7bt+NkbQovbYlJ2Q="
|
||||
"rev": "5e140b5abb9a91eb25b5ef66d29f6ee784ab7eab",
|
||||
"hash": "sha256-tN+2YH2O9FTV50o4OVhKcKdwRwTI8NuNA0WqljUcrmo="
|
||||
},
|
||||
"src/third_party/nearby/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git",
|
||||
|
|
@ -442,8 +442,8 @@
|
|||
},
|
||||
"src/third_party/jetstream/main": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/WebKit/JetStream.git",
|
||||
"rev": "de88e36ae91d5bd13126fa4cc4b0e0346d779842",
|
||||
"hash": "sha256-ZpU0ONqIVmY2VR0MxqtYj8KPNlK0L21gLJuT/Ff7KI8="
|
||||
"rev": "b7babdf323e64e69bd2f6c376189c15825f5c73a",
|
||||
"hash": "sha256-s6UMdUYWZqk/MbhyCi2zdQNgni98gGsYxcuUh/5AUy0="
|
||||
},
|
||||
"src/third_party/jetstream/v2.2": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/WebKit/JetStream.git",
|
||||
|
|
@ -482,8 +482,8 @@
|
|||
},
|
||||
"src/third_party/cros-components/src": {
|
||||
"url": "https://chromium.googlesource.com/external/google3/cros_components.git",
|
||||
"rev": "e580888fcc1c108e25c218ccf8b7a4372de18d57",
|
||||
"hash": "sha256-p0Wfvhg/j8v9xL9Pueo7xPVHBKowOLI00AeIZXPQw4k="
|
||||
"rev": "0abb2efaa3d16db861c9710b193c39e657ac3bdf",
|
||||
"hash": "sha256-viuntf6umyLZwDR9BXG+ZOakp9f8rvpZYDBYAUkKzL4="
|
||||
},
|
||||
"src/third_party/libdrm/src": {
|
||||
"url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git",
|
||||
|
|
@ -492,8 +492,8 @@
|
|||
},
|
||||
"src/third_party/expat/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git",
|
||||
"rev": "f31adfd584b7f6c50bbf4d22eb928538ffc9145a",
|
||||
"hash": "sha256-tLz4RejYQ/kFXhsWTduuGcinfUkqxYKPCpsou+WlvBc="
|
||||
"rev": "9bdfbc77e3355405ceefbe59420abed953a5657e",
|
||||
"hash": "sha256-veGg5/QjtBSmxYa8IyHF0NxEdJzlcJSZfzw8ay3ASVU="
|
||||
},
|
||||
"src/third_party/libipp/libipp": {
|
||||
"url": "https://chromium.googlesource.com/chromiumos/platform2/libipp.git",
|
||||
|
|
@ -502,8 +502,8 @@
|
|||
},
|
||||
"src/third_party/libjpeg_turbo": {
|
||||
"url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git",
|
||||
"rev": "d1f5f2393e0d51f840207342ae86e55a86443288",
|
||||
"hash": "sha256-KGeB/lTjhm8DQBDZVSPENvZEGSHeLTkviJrYsFh5vEM="
|
||||
"rev": "640f254ad0fa03f6b1f29f89b7dd9366f2f6e533",
|
||||
"hash": "sha256-wor4RTF3/5BFL9EWcGEofY+M4HN2+/KJUaOY+u86K5Q="
|
||||
},
|
||||
"src/third_party/liblouis/src": {
|
||||
"url": "https://chromium.googlesource.com/external/liblouis-github.git",
|
||||
|
|
@ -512,8 +512,8 @@
|
|||
},
|
||||
"src/third_party/libphonenumber/src": {
|
||||
"url": "https://chromium.googlesource.com/external/libphonenumber.git",
|
||||
"rev": "ade546d8856475d0493863ee270eb3be9628106b",
|
||||
"hash": "sha256-cLtsM35Ir3iG3j8+Cy2McL1ysRB0Y1PXealAKl05Twg="
|
||||
"rev": "c25558e39e2bcc9f26f7a2a1ef804324169eaf8f",
|
||||
"hash": "sha256-Lr/gB5Em+TE092McPwJdOU0Ab4zyP4/2ZxlavMZMm+s="
|
||||
},
|
||||
"src/third_party/libprotobuf-mutator/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/libprotobuf-mutator.git",
|
||||
|
|
@ -537,8 +537,8 @@
|
|||
},
|
||||
"src/third_party/libvpx/source/libvpx": {
|
||||
"url": "https://chromium.googlesource.com/webm/libvpx.git",
|
||||
"rev": "d1268a5f3f3553ad7735911c614e8548381ca3cd",
|
||||
"hash": "sha256-6IZTDhtjVWiqTv+jUC6Wr/tSqvql3thi9+mt+M3ixt4="
|
||||
"rev": "5f00413667d19ad683674524a9d03543d86d188b",
|
||||
"hash": "sha256-uTteQ+z7t5KOtPuBoZazmonRHd8jGS1/YZAq+RAvhX4="
|
||||
},
|
||||
"src/third_party/libwebm/source": {
|
||||
"url": "https://chromium.googlesource.com/webm/libwebm.git",
|
||||
|
|
@ -552,8 +552,8 @@
|
|||
},
|
||||
"src/third_party/libyuv": {
|
||||
"url": "https://chromium.googlesource.com/libyuv/libyuv.git",
|
||||
"rev": "644251f252a84bf8ce91ff0aca86a9b16b069ab8",
|
||||
"hash": "sha256-DsoOY8bg0sPOF8tF67Gk7fRqdQzG1hc9fVMlZVjKWU4="
|
||||
"rev": "3c5fa6ef272f6077d76816ee3d6a697ef1d6d272",
|
||||
"hash": "sha256-FXFSC9dRb/KhSQdhJUqKEUpZbzU8ZpVnoSXtF/HPiJI="
|
||||
},
|
||||
"src/third_party/lss": {
|
||||
"url": "https://chromium.googlesource.com/linux-syscall-support.git",
|
||||
|
|
@ -572,8 +572,8 @@
|
|||
},
|
||||
"src/third_party/nasm": {
|
||||
"url": "https://chromium.googlesource.com/chromium/deps/nasm.git",
|
||||
"rev": "358842b6b7dd69b2ed635bef17f941e030a05e5f",
|
||||
"hash": "sha256-YwjwubijMZ9OvYeMUVMSunWZ2VCuqUFEOyv/MK/oojc="
|
||||
"rev": "525a09a813be0f75b646ee93fc2a31c27b87d722",
|
||||
"hash": "sha256-uC6bGxSdz1V2SXIQjMsDd6555b3gAPN1Y0ZQtWoqDww="
|
||||
},
|
||||
"src/third_party/neon_2_sse/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/intel/ARM_NEON_2_x86_SSE.git",
|
||||
|
|
@ -587,8 +587,8 @@
|
|||
},
|
||||
"src/third_party/openscreen/src": {
|
||||
"url": "https://chromium.googlesource.com/openscreen",
|
||||
"rev": "684bcd767271a21f3e5d475b17a0fd862f16c65e",
|
||||
"hash": "sha256-Yjz2E1/h+zp7L2x0zE0l+ktQIiSrJ4ZknXOhaVPKQVE="
|
||||
"rev": "37ff938a93cb04c6b77e019b52328c8e9b320317",
|
||||
"hash": "sha256-M57un/TVQPfTnKScVHS1VK1cUs8F/YPT3TwMVdo+mhM="
|
||||
},
|
||||
"src/third_party/openscreen/src/buildtools": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src/buildtools",
|
||||
|
|
@ -602,13 +602,13 @@
|
|||
},
|
||||
"src/third_party/pdfium": {
|
||||
"url": "https://pdfium.googlesource.com/pdfium.git",
|
||||
"rev": "be702d63baba7507bb1f6f6ff2d35be9c133c08c",
|
||||
"hash": "sha256-hXqSJn1C0ISLWx68UicggiL8xzgQX2Y8l75vtpJgHeU="
|
||||
"rev": "c052afb72a08d79a26bcf3103d11f344981b09f1",
|
||||
"hash": "sha256-zqfErp0pDXHXIvRpZ1TJu2UGXNZjATRbPgQWTniKTJs="
|
||||
},
|
||||
"src/third_party/perfetto": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/perfetto.git",
|
||||
"rev": "97c58a94bb6495c4e202467fb1c55eaa22b5670f",
|
||||
"hash": "sha256-qtClkWAluLDRZn7yrHLU7qp9szP+/WsiG5JZZzRKd38="
|
||||
"rev": "9ede949f025303868fa0c42418f122ac47312539",
|
||||
"hash": "sha256-IRzEqgunO4Nfz+FkYir8G/Ht+Zsn6wpzncgkEFpsC+k="
|
||||
},
|
||||
"src/third_party/protobuf-javascript/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/protocolbuffers/protobuf-javascript",
|
||||
|
|
@ -617,8 +617,8 @@
|
|||
},
|
||||
"src/third_party/pthreadpool/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/pthreadpool.git",
|
||||
"rev": "a56dcd79c699366e7ac6466792c3025883ff7704",
|
||||
"hash": "sha256-WfyuPfII4eSmLskZV0TAcu4K6OyW38TjkDHm+VUx5eY="
|
||||
"rev": "02460584c6092e527c8b89f7df4de143d70e801f",
|
||||
"hash": "sha256-4EHJzZT+Gbhs8SkOhjSvDIPEqIQU93oJmtF3c/T+qjw="
|
||||
},
|
||||
"src/third_party/pyelftools": {
|
||||
"url": "https://chromium.googlesource.com/chromiumos/third_party/pyelftools.git",
|
||||
|
|
@ -647,13 +647,18 @@
|
|||
},
|
||||
"src/third_party/search_engines_data/resources": {
|
||||
"url": "https://chromium.googlesource.com/external/search_engines_data.git",
|
||||
"rev": "2345fee6ce4ae24d9c365d5c0884ece593c55c67",
|
||||
"hash": "sha256-5qkra6FURaMvEOk+ZKMRH1hc8ixEnk3u4rxNm0G8tuQ="
|
||||
"rev": "1aab872af8d44dcf59362d7ba8255922f74fafde",
|
||||
"hash": "sha256-5/XnNx6Pyk4KBb9krVo9u6i7LWNrsLLOIi4qhEY2PZc="
|
||||
},
|
||||
"src/third_party/sframe/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/cisco/sframe",
|
||||
"rev": "b14090904433bed0d4ec3f875b9b39f3e0555930",
|
||||
"hash": "sha256-bw+6ycUpnFZJhtXFUzr7XTOljNrs+7oFdVY+LN0Rqek="
|
||||
},
|
||||
"src/third_party/skia": {
|
||||
"url": "https://skia.googlesource.com/skia.git",
|
||||
"rev": "75c589e1f436688fca8f5b7f7a8affeafaa4f923",
|
||||
"hash": "sha256-x0jEek7iJv7WBNdkOUPc5VvIYJw9QPzzTChFUofqErM="
|
||||
"rev": "14d05ec761901b6e9e9193af8b347ab3a7f6fed0",
|
||||
"hash": "sha256-KZGrztOKaT368KSCxiJAqnsgINpNODUlaXnH/maQNIA="
|
||||
},
|
||||
"src/third_party/smhasher/src": {
|
||||
"url": "https://chromium.googlesource.com/external/smhasher.git",
|
||||
|
|
@ -667,13 +672,13 @@
|
|||
},
|
||||
"src/third_party/sqlite/src": {
|
||||
"url": "https://chromium.googlesource.com/chromium/deps/sqlite.git",
|
||||
"rev": "508ab21dc25702ed6690c4dd77da209a6bcd1239",
|
||||
"hash": "sha256-SfvLfBKdPjFvZ7CzUeFMcyoHdCzQgNRQwZyzb6MRtJg="
|
||||
"rev": "fc121d7d03cd6cbf499ec06a5112b263471b1181",
|
||||
"hash": "sha256-hf9PxQhXEKT49GbkFYCvRPBT0Qu+hDnDpebI92yO1Oo="
|
||||
},
|
||||
"src/third_party/swiftshader": {
|
||||
"url": "https://swiftshader.googlesource.com/SwiftShader.git",
|
||||
"rev": "f9d5d49a3c599a315e3493dc1e9b5309cffb3305",
|
||||
"hash": "sha256-kBfqgXXJeEPT80mu6CJ2Bwmdv/y8jVzM6TedMXbzo4o="
|
||||
"rev": "fce27a96526f54c6d31fdccf57629788e3712220",
|
||||
"hash": "sha256-bmXZLpz3wv7eQWoqTjZmjwnnILWSIjZ8iqo8CeLk5fw="
|
||||
},
|
||||
"src/third_party/text-fragments-polyfill/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git",
|
||||
|
|
@ -682,23 +687,23 @@
|
|||
},
|
||||
"src/third_party/tflite/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git",
|
||||
"rev": "2216f531fb72119745382c62f232acf9790f4b6e",
|
||||
"hash": "sha256-zySLNPmug5HS5pwJ/lEMAWjjZSOuxdTgup7Y90k7NZI="
|
||||
"rev": "999d49c10046e240cd5366d349d3a5f6af16a0d4",
|
||||
"hash": "sha256-eSqaWXtzZ4Bi9ilaJYGdZamzUjmo+AtDZ9KeZhsc/fY="
|
||||
},
|
||||
"src/third_party/litert/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google-ai-edge/LiteRT.git",
|
||||
"rev": "9b5418dd7a1a318eed20395743dcc868df17d8b0",
|
||||
"hash": "sha256-80amwDPF3RrcoTaTQsunNmlvBGs6KCv369FW3J/Xcts="
|
||||
"rev": "09b4b05203fd7a9402ffcce9cc736d887ff7e3fc",
|
||||
"hash": "sha256-skMOzpsn67mmOAp7Mf6UrJdi2lbiQQ8b6kBy4Ik2ED8="
|
||||
},
|
||||
"src/third_party/vulkan-deps": {
|
||||
"url": "https://chromium.googlesource.com/vulkan-deps",
|
||||
"rev": "d234b7b29748c07ef389279dd24f533ebd04cadc",
|
||||
"hash": "sha256-w49HOjPixSI/C5IGlxQMj/Ol9f/Lr2zI2oMhQzzu1zk="
|
||||
"rev": "669a28b1f31f89bfc46b74791f127bcc5e5b2f06",
|
||||
"hash": "sha256-lsR+sh+XQP/wKgkBbie6Gp+kQNFnnC8TeNWpiWTdevw="
|
||||
},
|
||||
"src/third_party/glslang/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang",
|
||||
"rev": "458ff50a67cb69371850068a62b78f1990a1ff9a",
|
||||
"hash": "sha256-2WauVjAEeZn16b4fE4ImKPX3wjDmeN92mqWi3NMiXSw="
|
||||
"rev": "f6d9303ddaf2e879b9155f7186cd234f5a79079c",
|
||||
"hash": "sha256-ru3QVyyyqxZRcvSpy9pYhHHhkjuLVhQbgOT/vQJ/oIw="
|
||||
},
|
||||
"src/third_party/spirv-cross/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross",
|
||||
|
|
@ -707,43 +712,43 @@
|
|||
},
|
||||
"src/third_party/spirv-headers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers",
|
||||
"rev": "126038020c2bd47efaa942ccc364ca5353ffccde",
|
||||
"hash": "sha256-QBX2M+ZSWgVvCx58NeDIdf6mIkdJbecDktBfUWGPvNc="
|
||||
"rev": "1e770e7de8373a8dd49f23416cf7ca4001d01040",
|
||||
"hash": "sha256-t8Shkoa90TJt1MbTOefnLaguW4eYKsRFO1Jd0AUc70Y="
|
||||
},
|
||||
"src/third_party/spirv-tools/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools",
|
||||
"rev": "2ec8457ab33d539b6f1fecc998360c0b8b05ed4f",
|
||||
"hash": "sha256-9TBb/gnDXgZRZXhF27KEQ0XQI5itRHKJQjLrkFDQq7Q="
|
||||
"rev": "b38c4f83024546d4000b2db8e2294cf81b7f26e0",
|
||||
"hash": "sha256-q5G4B75xBIXl1aG/vzbIDrc3Hs/MFoQ4nwh4ozb8hys="
|
||||
},
|
||||
"src/third_party/vulkan-headers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers",
|
||||
"rev": "f6a6f7ab165cedbfa2a7d0c93fe27a2d01ce09c8",
|
||||
"hash": "sha256-ZbjmxbRUiVJADNRWziCH0UIM09qKf+lm9PRnWOhZFhQ="
|
||||
"rev": "015e25c3c91b70eb1a754d36fb14c4ba6ad9b0b9",
|
||||
"hash": "sha256-pUxPwFGbOzP8ymTooeA1slFWEFsRoqUROSnndVtLiY8="
|
||||
},
|
||||
"src/third_party/vulkan-loader/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader",
|
||||
"rev": "15a84652b94e465e9a7b25eb507193929863bc2f",
|
||||
"hash": "sha256-pdC3YCM0Nzeabi5TPD+qR5PVdsxmWMnf2L9HsOcbv84="
|
||||
"rev": "cf0cf82ea16c0ff0be75940f282540d6085b2d3b",
|
||||
"hash": "sha256-uyoysS7lSBNDRfvcwPT+gQqhE20UxiYUEw1UXnYS3fY="
|
||||
},
|
||||
"src/third_party/vulkan-tools/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools",
|
||||
"rev": "7c46da2b39036a80ce088576d5794bf39e667f56",
|
||||
"hash": "sha256-nAyNVveeGg9sA0E37YiEPm+UdKsy48nAOjnUYHQnuqw="
|
||||
"rev": "e3d18f90c0b8ef1f52539e0674a42f0adfe30381",
|
||||
"hash": "sha256-Hs9N0FM3eWWjLm4BrDJoZIrsPDVFx0iRAJeQ4gHTM7o="
|
||||
},
|
||||
"src/third_party/vulkan-utility-libraries/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries",
|
||||
"rev": "2c909c1ab6f9c6caba39a84a4887186b3fafdead",
|
||||
"hash": "sha256-k3xeKHQbd2rTQJsOZKXEMPrYjcHwoCC1N12F6AIP6Ho="
|
||||
"rev": "8383c46b129c2b3a5f3833e602d946d2fcc57e39",
|
||||
"hash": "sha256-ZBie5uDTVEehxRQW1GZY5Ki/bnp82LoW3jfMUFL0O9A="
|
||||
},
|
||||
"src/third_party/vulkan-validation-layers/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers",
|
||||
"rev": "b105d8ea361af258abed65efb5a1565c031dcf1c",
|
||||
"hash": "sha256-GgznBGYgnCFMNaqAOQ15dlw2dOFfSp3mAV2KokVLzgk="
|
||||
"rev": "044eaba8a34a6e3bfb1d6aafac7c01068813a2b6",
|
||||
"hash": "sha256-i3hochkK0LZPg8CsZMFkAL+8tf8QuuwtApAc4FDd0RM="
|
||||
},
|
||||
"src/third_party/vulkan_memory_allocator": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git",
|
||||
"rev": "cb0597213b0fcb999caa9ed08c2f88dc45eb7d50",
|
||||
"hash": "sha256-yBCs3zfqs/60htsZAOscjcyKhVbAWE6znweuXcs1oKo="
|
||||
"rev": "7e55b011e16182fc349149abbd3aaf3b1db46421",
|
||||
"hash": "sha256-fOnFkcQDEGIe5yB507qnP9nA1LBBPFblncNiJ8JxAwI="
|
||||
},
|
||||
"src/third_party/wayland/src": {
|
||||
"url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland.git",
|
||||
|
|
@ -777,18 +782,23 @@
|
|||
},
|
||||
"src/third_party/webgpu-cts/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git",
|
||||
"rev": "3b327ebc44f11212fd3872972a6dd394634fb9e3",
|
||||
"hash": "sha256-RSZVKv2Z0pg2cGa3Elr2r5VZqdxlRJ+6mzm1Au1qg1I="
|
||||
"rev": "b507bd117e53db86f2fb52d0d858d3ae7d684a85",
|
||||
"hash": "sha256-6Y5Z0ErtsZdbuWTHa+PEiOxcZSbjBcnuOHbgtI1/+80="
|
||||
},
|
||||
"src/third_party/webpagereplay": {
|
||||
"url": "https://chromium.googlesource.com/webpagereplay.git",
|
||||
"rev": "b7ac48f52cd298e966a76eb054412915c3e445d4",
|
||||
"hash": "sha256-smtwB6vzLgCAePz0jNfrpm8TxrxBnBkigLxERhxUEvE="
|
||||
"rev": "b2b856131e36c99e9de9c419fe8ca02f857082ba",
|
||||
"hash": "sha256-+hcaP7C5Eh3SLl5B8mRgOVdM/tvnFnb/oqUIWPoe0NA="
|
||||
},
|
||||
"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",
|
||||
"rev": "6eddfb5ec5f92127a531eda66c568d3a11e7ec11",
|
||||
"hash": "sha256-Cm6BOOlEyD0kdYxMSmk6Fj1Dnfs3zCzXsm+BOXgBme0="
|
||||
},
|
||||
"src/third_party/webrtc": {
|
||||
"url": "https://webrtc.googlesource.com/src.git",
|
||||
"rev": "28311abc149a9bb7e6761a3d54f362a8d77e6793",
|
||||
"hash": "sha256-WuaxKrbISJ1nwyoj2sPAhGCNz33xEYSX1WlDiM+zxpw="
|
||||
"rev": "1f975dfd761af6e5d76d28333191973b258d82a8",
|
||||
"hash": "sha256-ucH+9HBkFyOKEItAWVoYmEzyU7h/UgWIvp/eC/JqGWU="
|
||||
},
|
||||
"src/third_party/wuffs/src": {
|
||||
"url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git",
|
||||
|
|
@ -802,8 +812,8 @@
|
|||
},
|
||||
"src/third_party/xnnpack/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git",
|
||||
"rev": "2ad25fc09167df69c6c02eb8082a0b9658dd5e80",
|
||||
"hash": "sha256-vBMGBXzJPCcsc2kMyGecjti68oZHWUwJKd7tkKub6kg="
|
||||
"rev": "56ac34b3f45fae2eca1f32584f7f0b279be2cf1f",
|
||||
"hash": "sha256-uw3r5g5rWamlFubBkXDb4KRx3hkOAoQyFo8l95GYGZI="
|
||||
},
|
||||
"src/third_party/libei/src": {
|
||||
"url": "https://chromium.googlesource.com/external/gitlab.freedesktop.org/libinput/libei.git",
|
||||
|
|
@ -812,13 +822,18 @@
|
|||
},
|
||||
"src/third_party/zstd/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/facebook/zstd.git",
|
||||
"rev": "3ae099b48dfcfe02b1b3ba81ab85457f8a922e9f",
|
||||
"hash": "sha256-futF0sM6z9HAl6AMJwUULBRByN92FTBjRIzYb2vBFGg="
|
||||
"rev": "5233c58e6ca0b1c4c6b353ad79649191ed195bdc",
|
||||
"hash": "sha256-vEl0s7Mjh+5rciOMxm99PNWiamtCk+sTN4lRYKCIZ+8="
|
||||
},
|
||||
"src/v8": {
|
||||
"url": "https://chromium.googlesource.com/v8/v8.git",
|
||||
"rev": "933ce636c562cd54d68e7f7c93ab5cdffd685fca",
|
||||
"hash": "sha256-zYArO6QS9nDIVWPINRVaDN1uX8X/wchBDeZHPZnwHYk="
|
||||
"rev": "968f19a8970f8d91702d86f0ec1522f3909781b7",
|
||||
"hash": "sha256-x3rCWvC3hEjyJq6PNThhZEp4oRF9Y1JJEPnZTqVNVrY="
|
||||
},
|
||||
"src/agents/shared": {
|
||||
"url": "https://chromium.googlesource.com/chromium/agents.git",
|
||||
"rev": "e75efa515896f6bf1dea92eaffbcf8ee711a65d8",
|
||||
"hash": "sha256-z2GrzF8jDkdfBdq1HP3gTgQpoqjmhc80kEZBmlue0os="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
||||
index e1da11405c1f667280099ee815abc5349d1ad1bd..202992dbbe1c2a70eb6d8b559568d388f98b28f6 100644
|
||||
--- a/build/config/compiler/BUILD.gn
|
||||
+++ b/build/config/compiler/BUILD.gn
|
||||
@@ -1678,16 +1678,6 @@ config("runtime_library") {
|
||||
configs += [ "//build/config/c++:runtime_library" ]
|
||||
}
|
||||
|
||||
- # Rust and C++ both provide intrinsics for LLVM to call for math operations.
|
||||
- # We want to use the C++ intrinsics, not the ones in the Rust
|
||||
- # compiler_builtins library. The Rust symbols are marked as weak, so that they
|
||||
- # can be replaced by the C++ symbols. This config ensures the C++ symbols
|
||||
- # exist and are strong in order to cause that replacement to occur by
|
||||
- # explicitly linking in clang's compiler-rt library.
|
||||
- if (is_clang && !(is_a_target_toolchain && is_cronet_build)) {
|
||||
- configs += [ "//build/config/clang:compiler_builtins" ]
|
||||
- }
|
||||
-
|
||||
# TODO(crbug.com/40570904): Come up with a better name for is POSIX + Fuchsia
|
||||
# configuration.
|
||||
if (is_posix || is_fuchsia) {
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
diff --git a/third_party/widevine/cdm/BUILD.gn b/third_party/widevine/cdm/BUILD.gn
|
||||
index 6d18f9fa163718d95610de9b6229dd38478543c7..93884543edcaa7211f4a7d61175bc068c6fd7dd4 100644
|
||||
--- a/third_party/widevine/cdm/BUILD.gn
|
||||
+++ b/third_party/widevine/cdm/BUILD.gn
|
||||
@@ -19,7 +19,7 @@ buildflag_header("buildflags") {
|
||||
|
||||
flags = [
|
||||
"ENABLE_WIDEVINE=$enable_widevine",
|
||||
- "BUNDLE_WIDEVINE_CDM=$bundle_widevine_cdm",
|
||||
+ "BUNDLE_WIDEVINE_CDM=true",
|
||||
"ENABLE_WIDEVINE_CDM_COMPONENT=$enable_widevine_cdm_component",
|
||||
"ENABLE_MEDIA_FOUNDATION_WIDEVINE_CDM=$enable_media_foundation_widevine_cdm",
|
||||
]
|
||||
diff --git a/third_party/widevine/cdm/widevine.gni b/third_party/widevine/cdm/widevine.gni
|
||||
index 927b2e4809cf76e6b3ef51ee6cd2bbd04a92d60b..41761d10a4105a20fc4acf35f761c7ab23f867dd 100644
|
||||
--- a/third_party/widevine/cdm/widevine.gni
|
||||
+++ b/third_party/widevine/cdm/widevine.gni
|
||||
@@ -40,8 +40,7 @@ enable_library_widevine_cdm =
|
||||
# Widevine CDM can be deployed as a component. Currently only supported on
|
||||
# desktop platforms. The CDM can be bundled regardless whether it's a
|
||||
# component. See below.
|
||||
-enable_widevine_cdm_component =
|
||||
- enable_library_widevine_cdm && (is_win || is_mac || is_linux || is_chromeos)
|
||||
+enable_widevine_cdm_component = false
|
||||
|
||||
# Enable (Windows) Media Foundation Widevine CDM component.
|
||||
declare_args() {
|
||||
|
|
@ -2,7 +2,6 @@
|
|||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
yq-go,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
|
|
@ -22,21 +21,29 @@ buildGoModule {
|
|||
|
||||
vendorHash = "sha256-4ckjM520MGYb64LbjYURe7AIScm4aGbj81rGKSSYaAo=";
|
||||
|
||||
# NOTE: Remove the install and upgrade hooks.
|
||||
postPatch = ''
|
||||
sed -i '/^hooks:/,+2 d' plugin.yaml
|
||||
# Remove the install and upgrade hooks.
|
||||
sed -i '/^platformHooks:[[:space:]]*$/,/^[^[:space:]]/d' plugin.yaml
|
||||
# Remove the per-platform commands
|
||||
sed -i '/^platformCommand:[[:space:]]*$/,/^[^[:space:]]/d' plugin.yaml
|
||||
# Add a simple runtime config
|
||||
cat <<'EOF' >> ./plugin.yaml
|
||||
platformCommand:
|
||||
- command: "''$HELM_PLUGIN_DIR/helm-unittest"
|
||||
EOF
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
install -dm755 $out/helm-unittest
|
||||
mv $out/bin/helm-unittest $out/helm-unittest/untt
|
||||
rmdir $out/bin
|
||||
install -m644 -Dt $out/helm-unittest plugin.yaml
|
||||
'';
|
||||
subPackages = [ "cmd/helm-unittest" ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
yq-go
|
||||
];
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -dm755 "$out/helm-unittest"
|
||||
install -m755 -Dt "$out/helm-unittest" "$GOPATH/bin/helm-unittest"
|
||||
install -m644 -Dt "$out/helm-unittest" ./plugin.yaml
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
|
|
|
|||
|
|
@ -355,11 +355,11 @@
|
|||
"vendorHash": null
|
||||
},
|
||||
"dopplerhq_doppler": {
|
||||
"hash": "sha256-vYLNRSk8U9Ez5+LrC9cr6Ux32p7n93WOJaM4lY7ghE0=",
|
||||
"hash": "sha256-SS2S4JGG1Xu0p4k6lVlTr173Xanwc6hZ0A3osEWGdEg=",
|
||||
"homepage": "https://registry.terraform.io/providers/DopplerHQ/doppler",
|
||||
"owner": "DopplerHQ",
|
||||
"repo": "terraform-provider-doppler",
|
||||
"rev": "v1.21.3",
|
||||
"rev": "v1.21.4",
|
||||
"spdx": "Apache-2.0",
|
||||
"vendorHash": "sha256-B8mYLd4VdADWoQLWiCM85VQrBfDdlYQ0wkCp9eUBQ4U="
|
||||
},
|
||||
|
|
@ -968,13 +968,13 @@
|
|||
"vendorHash": "sha256-OAd8SeTqTrH0kMoM2LsK3vM2PI23b3gl57FaJYM9hM0="
|
||||
},
|
||||
"newrelic_newrelic": {
|
||||
"hash": "sha256-sUawDMMhwCo2xqnPNiaRMGKo3rRxNGjLEl2NYwfVuMk=",
|
||||
"hash": "sha256-/y3BdJAwmmR9FHzbYh+2EBAae+WQp5+wubPEh6Tw98s=",
|
||||
"homepage": "https://registry.terraform.io/providers/newrelic/newrelic",
|
||||
"owner": "newrelic",
|
||||
"repo": "terraform-provider-newrelic",
|
||||
"rev": "v3.93.2",
|
||||
"rev": "v3.94.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-fCdwTWYbwuJUh+9WeVN5WmpPxdop49oHZ2cUm3K5w6w="
|
||||
"vendorHash": "sha256-gbkuHyFBc1WUbtDFXnyzUlYdIvyFPwBHd+gg7VPenb4="
|
||||
},
|
||||
"ns1-terraform_ns1": {
|
||||
"hash": "sha256-6w0r6QXm16h4I4PFj80dJhTDbF4FPMjJalO0TfXGBEA=",
|
||||
|
|
|
|||
|
|
@ -91,8 +91,8 @@ rec {
|
|||
thunderbird-140 = common {
|
||||
applicationName = "Thunderbird ESR";
|
||||
|
||||
version = "140.12.0esr";
|
||||
sha512 = "ccbcc305d5cc10aa01aa5071f40a21b42de0300d9ad6763c4fc4ad71bf797566f2380c8fd84d46952e7c4eae0a35905173e6906b108192833660eae2ceea7b51";
|
||||
version = "140.12.1esr";
|
||||
sha512 = "24e795483ba7bc112c0debe1becdaf79cc2de95703b9ee726d0216bfc1db7b33c169503f83ac867e5998a8d1d0284a6ef12c7d35d98b10d6432497c2db237477";
|
||||
|
||||
updateScript = callPackage ./update.nix {
|
||||
attrPath = "thunderbirdPackages.thunderbird-140";
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
pkg-config,
|
||||
wrapQtAppsHook,
|
||||
nix-update-script,
|
||||
grim,
|
||||
hyprland,
|
||||
hyprland-protocols,
|
||||
hyprlang,
|
||||
|
|
@ -81,7 +82,12 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
}
|
||||
|
||||
wrapProgramShell $out/libexec/xdg-desktop-portal-hyprland \
|
||||
--prefix PATH ":" ${lib.makeBinPath [ (placeholder "out") ]}
|
||||
--prefix PATH ":" ${
|
||||
lib.makeBinPath [
|
||||
(placeholder "out")
|
||||
grim
|
||||
]
|
||||
}
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
|
|
|||
|
|
@ -10,13 +10,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "4ti2";
|
||||
version = "1.6.14";
|
||||
version = "1.6.15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "4ti2";
|
||||
repo = "4ti2";
|
||||
tag = "Release_${builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version}";
|
||||
hash = "sha256-bFvq90hLLGty7p6NLxOARVvKdizg3bp2NkP9nZpVFzQ=";
|
||||
hash = "sha256-6X8zNp68KlKxplg1rdcotmXyIZE27POJs9/3n2BZLZE=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
|||
|
|
@ -6,19 +6,19 @@
|
|||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "aaa";
|
||||
version = "1.1.1";
|
||||
version = "2.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "asciimoth";
|
||||
repo = "aaa";
|
||||
tag = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-gIOlPjZOcmVLi9oOn4gBv6F+3Eq6t5b/3fKzoFqxclw=";
|
||||
tag = "${finalAttrs.version}";
|
||||
sha256 = "sha256-z8PXkX6Bh3oD8tRf+tsLJHbx5wIz2mBYhJSEL88hBDc=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-CHX+Ugy4ND36cpxNEFpnqid6ALHMPXmfXi+D4aktPRk=";
|
||||
cargoHash = "sha256-dt3nbVS8i075O8m9x+FsDi3VeihVKVIV0wnPqyYUaIk=";
|
||||
|
||||
meta = {
|
||||
description = "Terminal viewer for 3a format";
|
||||
description = "Swiss Army knife for animated ascii art";
|
||||
homepage = "https://github.com/asciimoth/aaa";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ asciimoth ];
|
||||
|
|
|
|||
36
pkgs/by-name/ab/abtop/package.nix
Normal file
36
pkgs/by-name/ab/abtop/package.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "abtop";
|
||||
version = "0.5.1";
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "graykode";
|
||||
repo = "abtop";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-2m0FYv2HouFqnmDaG6ounc8VJxlEK3N3uTBZyNiFwzI=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-0sAjql2pH41dHdmV0uC4jjj6J1OFjMdEY1B+4C4id3Y=";
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Like htop, but for AI coding agents";
|
||||
homepage = "https://github.com/graykode/abtop";
|
||||
changelog = "https://github.com/graykode/abtop/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ Br1ght0ne ];
|
||||
mainProgram = "abtop";
|
||||
};
|
||||
})
|
||||
|
|
@ -1,21 +1,21 @@
|
|||
{
|
||||
"version": "1.3.20-stable",
|
||||
"version": "1.3.21-stable",
|
||||
"sources": {
|
||||
"aarch64-darwin": {
|
||||
"url": "https://acli.atlassian.com/darwin/1.3.20-stable/acli_1.3.20-stable_darwin_arm64.tar.gz",
|
||||
"sha256": "5fca5f021b8202f77f60ecc0ded293fb4af67afdb462ed20dce990cfedc49517"
|
||||
"url": "https://acli.atlassian.com/darwin/1.3.21-stable/acli_1.3.21-stable_darwin_arm64.tar.gz",
|
||||
"sha256": "39687d1c18054736f7264d76d33ceb89e8ebf480fbbba9541d9fefdda94ded66"
|
||||
},
|
||||
"aarch64-linux": {
|
||||
"url": "https://acli.atlassian.com/linux/1.3.20-stable/acli_1.3.20-stable_linux_arm64.tar.gz",
|
||||
"sha256": "2209f6ab1f7fb4c16247e30115d0ff7c1511161aeae4d166e0e79ec81125a4b1"
|
||||
"url": "https://acli.atlassian.com/linux/1.3.21-stable/acli_1.3.21-stable_linux_arm64.tar.gz",
|
||||
"sha256": "b6104cd1737613fe4b24c20619965bb59b7b9bc09e39fb95f41a671b2b320ab8"
|
||||
},
|
||||
"x86_64-darwin": {
|
||||
"url": "https://acli.atlassian.com/darwin/1.3.20-stable/acli_1.3.20-stable_darwin_amd64.tar.gz",
|
||||
"sha256": "4b9c4faa0d635b6e9194b101d4826b26cd6a15c46313f6a5f9436e20e8a48b78"
|
||||
"url": "https://acli.atlassian.com/darwin/1.3.21-stable/acli_1.3.21-stable_darwin_amd64.tar.gz",
|
||||
"sha256": "75f08d45886f770117405bb5b053bfa4c8e98045afe3dfa965905fabd8825f5c"
|
||||
},
|
||||
"x86_64-linux": {
|
||||
"url": "https://acli.atlassian.com/linux/1.3.20-stable/acli_1.3.20-stable_linux_amd64.tar.gz",
|
||||
"sha256": "4e0190233a58276001a3cdff23e4be5e30844f98c639c49cfdeb581b9eb147aa"
|
||||
"url": "https://acli.atlassian.com/linux/1.3.21-stable/acli_1.3.21-stable_linux_amd64.tar.gz",
|
||||
"sha256": "f158f6e8f6ae7e279d1ced8ce85a93647aa70c42c29f0d5ad303ebd3c727f956"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "adscan";
|
||||
version = "9.1.1";
|
||||
version = "9.2.0";
|
||||
pyproject = true;
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
|
@ -16,7 +16,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
|||
owner = "ADScanPro";
|
||||
repo = "adscan";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-lVoDPRw2NQBQJo37uKT807HXN28cDFxiWwedTiYhojc=";
|
||||
hash = "sha256-28v36+sbgt/xaE8N7w4o0WTMYd95QsW190VPhOgL3+8=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [ "credsweeper" ];
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "allure";
|
||||
version = "2.43.0";
|
||||
version = "2.44.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/allure-framework/allure2/releases/download/${finalAttrs.version}/allure-${finalAttrs.version}.tgz";
|
||||
hash = "sha256-Hrp4vTrtdPNSRpMVCdQKBg9v8He6VyhHiThGiPMQdsg=";
|
||||
hash = "sha256-cCGpCCjADNbsmSAnzOSOipS9h/rUPQwtysR5XK3BeNc=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ let
|
|||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "amp-cli";
|
||||
version = "0.0.1782120930-g64087b";
|
||||
version = "0.0.1782851652-gfd0e56";
|
||||
|
||||
src = finalAttrs.passthru.sources.${stdenvNoCC.hostPlatform.system};
|
||||
|
||||
|
|
@ -78,10 +78,10 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
|||
url = "https://static.ampcode.com/cli/${finalAttrs.version}/amp-${platform}.gz";
|
||||
hash =
|
||||
{
|
||||
x86_64-linux = "sha256-Ye1ch/mmhFelSv77Yy+fbpiBUlXzInACp2Hux+CLQzk=";
|
||||
aarch64-linux = "sha256-cGV6tqiaHDjSCjhlSgAf0wIcOXY0Y78G2IT0ZQ5uuNk=";
|
||||
x86_64-darwin = "sha256-5UmALYPSfUceumD4puKbMY+VwUsmAojHuu3pNXxVOr4=";
|
||||
aarch64-darwin = "sha256-zzpPWKfYHAEXLNvAucVOwm0HE8Ui3Ai31XMs+utlXF4=";
|
||||
x86_64-linux = "sha256-uLHPYfZyQAj562Zoq9ooTEBuQxCcAPBbsf9plhvn+TQ=";
|
||||
aarch64-linux = "sha256-1hUKxNMJrh3m8G/4BpRrZSWaKTzQajFmtgayv04E5mM=";
|
||||
x86_64-darwin = "sha256-BeQFup4s33TJnIvpsDsgUA9USWrlV+lQdSmR/FSfbis=";
|
||||
aarch64-darwin = "sha256-AfiAUS8KAnGE/a3Q3mZV5Fa0htf2t1HP0LrC9vx1YF0=";
|
||||
}
|
||||
.${system'};
|
||||
}
|
||||
|
|
|
|||
28
pkgs/by-name/an/anki/addons/advanced-browser/default.nix
Normal file
28
pkgs/by-name/an/anki/addons/advanced-browser/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
lib,
|
||||
anki-utils,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
}:
|
||||
anki-utils.buildAnkiAddon (finalAttrs: {
|
||||
pname = "advanced-browser";
|
||||
version = "4.5";
|
||||
src = fetchFromGitHub {
|
||||
owner = "AnKing-VIP";
|
||||
repo = "advanced-browser";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-oVL+Y96/d+uD8s6yjz6L7zWV2G6PgP7ZfIiEAAZR2T4=";
|
||||
};
|
||||
passthru.updateScript = nix-update-script { };
|
||||
meta = {
|
||||
description = "Adds more sorting options to the browser";
|
||||
longDescription = ''
|
||||
A general overview of the functionality can be found [here](https://ankiweb.net/shared/info/874215009).
|
||||
The options to configure this add-on can be found [here](https://github.com/AnKing-VIP/advanced-browser/blob/v${finalAttrs.version}/advancedbrowser/config.md).
|
||||
'';
|
||||
homepage = "https://ankiweb.net/shared/info/874215009";
|
||||
downloadPage = "https://github.com/AnKing-VIP/advanced-browser";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ n0pl4c3 ];
|
||||
};
|
||||
})
|
||||
|
|
@ -4,6 +4,8 @@
|
|||
{
|
||||
adjust-sound-volume = callPackage ./adjust-sound-volume { };
|
||||
|
||||
advanced-browser = callPackage ./advanced-browser { };
|
||||
|
||||
ajt-card-management = callPackage ./ajt-card-management { };
|
||||
|
||||
anki-connect = callPackage ./anki-connect { };
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
|
|||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"pytenable"
|
||||
"typer"
|
||||
"validators"
|
||||
];
|
||||
|
|
|
|||
|
|
@ -11,16 +11,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "avml";
|
||||
version = "0.18.0";
|
||||
version = "0.19.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "microsoft";
|
||||
repo = "avml";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-d8H+UPCH3yyBNndlGzamgaPlhmvP4rcUSAywx8vYky0=";
|
||||
hash = "sha256-2oVqweq06pzFVcUVq1lCJ4rGmiZG0A7xq6g1RSwR12M=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-LxoyvjFVn69s9Wf8pF+9wBgOV4fJ/th6GPzLW6hbz0E=";
|
||||
cargoHash = "sha256-40NKzbxNY9t5e7OJnw9Kfvx86YsPAolcezeWeFsD0C4=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ openssl ];
|
||||
|
|
|
|||
121
pkgs/by-name/ba/bambuddy/package.nix
Normal file
121
pkgs/by-name/ba/bambuddy/package.nix
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
{
|
||||
fetchFromGitHub,
|
||||
buildNpmPackage,
|
||||
python3,
|
||||
stdenv,
|
||||
makeWrapper,
|
||||
lib,
|
||||
ffmpeg,
|
||||
}:
|
||||
let
|
||||
version = "0.2.4.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "maziggy";
|
||||
repo = "bambuddy";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-6qeIidvi62NUok7I9UQ8DblT0/Wscju4FMnVuPXzMdM=";
|
||||
};
|
||||
|
||||
frontend = buildNpmPackage {
|
||||
pname = "bambuddy-frontend";
|
||||
inherit version src;
|
||||
|
||||
sourceRoot = "${src.name}/frontend";
|
||||
npmDepsHash = "sha256-/22FkXus5f3wYivyadZWU6ZKPYFLF8xA8mkVGxvdXm0=";
|
||||
|
||||
preBuild = "chmod -R u+w ../static";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out
|
||||
cp -r ../static/. $out/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
};
|
||||
|
||||
# https://github.com/maziggy/bambuddy/blob/main/requirements.txt
|
||||
python = python3.withPackages (
|
||||
ps: with ps; [
|
||||
aiofiles
|
||||
aioftp
|
||||
aiosqlite
|
||||
asyncpg
|
||||
asyncssh
|
||||
bcrypt
|
||||
cryptography
|
||||
curl-cffi
|
||||
defusedxml
|
||||
fastapi
|
||||
fast-simplification
|
||||
greenlet
|
||||
httpx
|
||||
ldap3
|
||||
lxml
|
||||
matplotlib
|
||||
networkx
|
||||
numpy
|
||||
opencv4
|
||||
openpyxl
|
||||
paho-mqtt
|
||||
passlib
|
||||
pillow
|
||||
psutil
|
||||
pydantic
|
||||
pydantic-settings
|
||||
pyftpdlib
|
||||
pyjwt
|
||||
pyopenssl
|
||||
pyotp
|
||||
python-multipart
|
||||
pywebpush
|
||||
qrcode
|
||||
reportlab
|
||||
sqlalchemy
|
||||
trimesh
|
||||
uvicorn
|
||||
websockets
|
||||
]
|
||||
);
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "bambuddy";
|
||||
inherit version src;
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/lib/bambuddy
|
||||
cp -r . $out/lib/bambuddy/
|
||||
|
||||
rm -rf $out/lib/bambuddy/static
|
||||
ln -s ${frontend} $out/lib/bambuddy/static
|
||||
|
||||
mkdir -p $out/bin
|
||||
|
||||
makeWrapper ${lib.getExe' python "uvicorn"} $out/bin/bambuddy \
|
||||
--chdir "$out/lib/bambuddy" \
|
||||
--prefix PYTHONPATH : "$out/lib/bambuddy" \
|
||||
--prefix PATH : ${ffmpeg}/bin \
|
||||
--add-flags "backend.app.main:app"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Self-hosted command center for Bambu Lab";
|
||||
homepage = "https://bambuddy.cool/";
|
||||
changelog = "https://github.com/maziggy/bambuddy/blob/v${version}/CHANGELOG.md";
|
||||
license = lib.licenses.agpl3Only;
|
||||
maintainers = with lib.maintainers; [ onatustun ];
|
||||
mainProgram = "bambuddy";
|
||||
platforms = with lib.platforms; linux ++ darwin;
|
||||
};
|
||||
}
|
||||
80
pkgs/by-name/be/bencher-cli/package.nix
Normal file
80
pkgs/by-name/be/bencher-cli/package.nix
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
mold,
|
||||
nix-update-script,
|
||||
versionCheckHook,
|
||||
rustc,
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "bencher-cli";
|
||||
version = "0.6.8";
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bencherdev";
|
||||
repo = "bencher";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-MlRj56QXRrvfBxi6+B6vpEKlDWMFB+V1CzQYOiGFpHE=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-biCHEePgVxrnGUj94bwWrp9GVhspiMjcMRdp3A7O2h0=";
|
||||
|
||||
nativeBuildInputs = [ mold ];
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
doInstallCheck = true;
|
||||
|
||||
cargoBuildFlags = [ "--package=bencher_cli" ];
|
||||
cargoTestFlags = [ "--package=bencher_cli" ];
|
||||
# Build the open-source version
|
||||
buildNoDefaultFeatures = true;
|
||||
checkNoDefaultFeatures = finalAttrs.buildNoDefaultFeatures;
|
||||
|
||||
postPatch = lib.optionalString finalAttrs.buildNoDefaultFeatures ''
|
||||
# Replaces the proprietary Rust files with empty files
|
||||
# This is just a safeguard, the build shouldn't touch these files anyways
|
||||
echo "find . -path '*/plus/*' -type f ! -name Cargo.toml -exec truncate -s 0 {} +"
|
||||
find . -path '*/plus/*' -type f ! -name Cargo.toml -exec truncate -s 0 {} +
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Command-Line interface for the Bencher continuous benchmarking platform";
|
||||
mainProgram = "bencher";
|
||||
longDescription = ''
|
||||
Bencher is a suite of continuous benchmarking tools.
|
||||
Bencher allows you to detect and prevent performance regressions
|
||||
*before* they hit production.
|
||||
|
||||
- Run: Run your benchmarks locally or in CI using your favorite
|
||||
benchmarking tools. The bencher CLI simply wraps your existing
|
||||
benchmark harness and stores its results.
|
||||
- Track: Track the results of your benchmarks over time. Monitor, query,
|
||||
and graph the results using the Bencher web console based on the source
|
||||
branch, testbed, benchmark, and measure.
|
||||
- Catch: Catch performance regressions in CI. Bencher uses state of the
|
||||
art, customizable analytics to detect performance regressions before
|
||||
they make it to production.
|
||||
|
||||
Bencher's source repo includes non-free features, included in the build
|
||||
as the Cargo feature "plus".
|
||||
Files in the plus directories are proprietary, while the other files
|
||||
are dual Apache-2.0/MIT licensed.
|
||||
The Nix derivation does not compile the proprietary features.
|
||||
'';
|
||||
homepage = "https://bencher.dev";
|
||||
license =
|
||||
if finalAttrs.buildNoDefaultFeatures then
|
||||
lib.licenses.OR [
|
||||
lib.licenses.asl20
|
||||
lib.licenses.mit
|
||||
]
|
||||
else
|
||||
lib.licenses.unfree;
|
||||
platforms = rustc.meta.platforms;
|
||||
maintainers = [ lib.maintainers.skyesoss ];
|
||||
};
|
||||
})
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
let
|
||||
pname = "bitcomet";
|
||||
version = "2.19.2";
|
||||
version = "2.21.2";
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.bitcomet.com";
|
||||
|
|
@ -45,8 +45,8 @@ let
|
|||
fetchurl {
|
||||
url = "https://download.bitcomet.com/linux/${arch}/BitComet-${version}-${arch}.deb";
|
||||
hash = selectSystem {
|
||||
x86_64-linux = "sha256-26hpKNCetqV0whfzNo950EAmK+LKC1RsN5f/9HU9zKs=";
|
||||
aarch64-linux = "sha256-VrrjQ4dcj0XL2xmNspo2mJ+3BVy9vKyVw6QaHkha0LY=";
|
||||
x86_64-linux = "sha256-qHPr4G921W1Pl7n0Wv98yLRbsAkJBrOcyg9kHHjtBGc=";
|
||||
aarch64-linux = "sha256-VC/dvAGmhqlmZT5XB41x/fTGvMZjYCuz/tSp9MYFUHo=";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
94
pkgs/by-name/br/breseq/package.nix
Normal file
94
pkgs/by-name/br/breseq/package.nix
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
callPackage,
|
||||
nix-update-script,
|
||||
libz,
|
||||
libtool,
|
||||
perl,
|
||||
R,
|
||||
bowtie2,
|
||||
which,
|
||||
ghostscript,
|
||||
makeWrapper,
|
||||
autoreconfHook,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "breseq";
|
||||
version = "0.39.0";
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "barricklab";
|
||||
repo = "breseq";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-DsDX2oGn7Ex50Wnp1phJjCziCzZIeeZOHriUGJbejsk=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
perl
|
||||
libz
|
||||
libtool
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
autoreconfHook
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
# Make wrappers
|
||||
wrapProgram $out/bin/breseq --prefix PATH : ${
|
||||
lib.makeBinPath [
|
||||
which
|
||||
ghostscript
|
||||
bowtie2
|
||||
R
|
||||
]
|
||||
}
|
||||
wrapProgram $out/bin/gdtools --prefix PATH : ${
|
||||
lib.makeBinPath [
|
||||
which
|
||||
ghostscript
|
||||
bowtie2
|
||||
R
|
||||
]
|
||||
}
|
||||
# Copy over tests (incl necessary datasets) and license
|
||||
cp LICENSE $out/license
|
||||
mkdir $out/tests
|
||||
mkdir $out/tests/data
|
||||
cp tests/data/tmv_plasmid $out/tests/data/tmv_plasmid -r
|
||||
cp tests/data/lambda $out/tests/data/lambda -r
|
||||
cp tests/common.sh $out/tests/common.sh
|
||||
cp tests/tmv_plasmid_circular_deletion $out/tests/tmv_plasmid_circular_deletion -r
|
||||
cp tests/gdtools_compare_1 $out/tests/gdtools_compare_1 -r
|
||||
'';
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
];
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru.tests = {
|
||||
breseq_works = callPackage ./tests/breseq.nix { };
|
||||
gdtools_works = callPackage ./tests/gdtools.nix { };
|
||||
};
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Computational pipeline for finding mutations relative to a reference sequence in short-read DNA re-sequencing data";
|
||||
mainProgram = "breseq";
|
||||
homepage = "https://github.com/barricklab/breseq";
|
||||
license = with lib.licenses; [
|
||||
gpl2Plus # See barricklab/breseq#398
|
||||
];
|
||||
maintainers = with lib.maintainers; [ croots ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
})
|
||||
21
pkgs/by-name/br/breseq/tests/breseq.nix
Normal file
21
pkgs/by-name/br/breseq/tests/breseq.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
runCommand,
|
||||
breseq,
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (breseq) pname version;
|
||||
in
|
||||
|
||||
runCommand "breseq-tests" { meta.timeout = 60; } ''
|
||||
echo "Testing breseq - breseq executable"
|
||||
export TESTBINPREFIX=${breseq}/bin
|
||||
cp ${breseq}/tests $PWD/breseqtests -r
|
||||
chmod -R +w $PWD/breseqtests
|
||||
output=$($PWD/breseqtests/tmv_plasmid_circular_deletion/testcmd.sh 2>&1) || {
|
||||
echo "$output"
|
||||
echo "Error testing breseq - breseq executable"
|
||||
exit 1
|
||||
}
|
||||
touch $out
|
||||
''
|
||||
21
pkgs/by-name/br/breseq/tests/gdtools.nix
Normal file
21
pkgs/by-name/br/breseq/tests/gdtools.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
runCommand,
|
||||
breseq,
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (breseq) pname version;
|
||||
in
|
||||
|
||||
runCommand "breseq-tests" { meta.timeout = 60; } ''
|
||||
echo "Testing breseq - gdtools executable"
|
||||
export TESTBINPREFIX=${breseq}/bin
|
||||
cp ${breseq}/tests $PWD/breseqtests -r
|
||||
chmod -R +w $PWD/breseqtests
|
||||
output=$($PWD/breseqtests/gdtools_compare_1/testcmd.sh 2>&1) || {
|
||||
echo "$output"
|
||||
echo "Error testing breseq - gdtools executable"
|
||||
exit 1
|
||||
}
|
||||
touch $out
|
||||
''
|
||||
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "butane";
|
||||
version = "0.28.0";
|
||||
version = "0.29.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "coreos";
|
||||
repo = "butane";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-Cej00ugyOtjPys0E67z0oapwABdQxRuN4lOGu1qrtf8=";
|
||||
hash = "sha256-lijMfxhUBopwbfEP4fEgszXh7zaRz7Xy1Y8PmatXXTE=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchCrate,
|
||||
fetchurl,
|
||||
rustPlatform,
|
||||
|
|
@ -8,28 +7,31 @@
|
|||
openssl,
|
||||
nix-update-script,
|
||||
}:
|
||||
let
|
||||
# That is from cargoDeps/risc0-circuit-recursion/build.rs
|
||||
src-recursion-hash = "744b999f0a35b3c86753311c7efb2a0054be21727095cf105af6ee7d3f4d8849";
|
||||
src-recursion = fetchurl {
|
||||
name = "cargo-risczero-recursion-source";
|
||||
url = "https://risc0-artifacts.s3.us-west-2.amazonaws.com/zkr/${src-recursion-hash}.zip";
|
||||
outputHash = src-recursion-hash; # This hash should be the same as src-recuresion-hash
|
||||
outputHashAlgo = "sha256";
|
||||
};
|
||||
in
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cargo-risczero";
|
||||
version = "1.1.2";
|
||||
version = "3.0.5";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
hash = "sha256-YZ3yhj1VLxl3Fg/yWhqrZXxIQ7oK6Gdo0NU39oDvoo8=";
|
||||
};
|
||||
|
||||
src-recursion-hash = "28e4eeff7a8f73d27408d99a1e3e8842c79a5f4353e5117ec0b7ffaa7c193612"; # That is from cargoDeps/risc0-circuit-recursion/build.rs
|
||||
|
||||
src-recursion = fetchurl {
|
||||
url = "https://risc0-artifacts.s3.us-west-2.amazonaws.com/zkr/${src-recursion-hash}.zip";
|
||||
hash = "sha256-KOTu/3qPc9J0CNmaHj6IQseaX0NT5RF+wLf/qnwZNhI="; # This hash should be the same as src-recuresion-hash
|
||||
inherit (finalAttrs) pname version;
|
||||
hash = "sha256-1tuY+XoZpilak9gc5vDnRDEB1SK+itBWoGNxwefT6xo=";
|
||||
};
|
||||
|
||||
env = {
|
||||
RECURSION_SRC_PATH = src-recursion;
|
||||
};
|
||||
|
||||
cargoHash = "sha256-r2bs1MT2jBK4ATUKyRGLEAFCHNaGnnQ4jbQOKbQbldY=";
|
||||
cargoHash = "sha256-ayKQvhjYawPEl9ryVmDx4J93/EGPSeKds0mOnkRI2Fo=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
|
@ -39,9 +41,6 @@ rustPlatform.buildRustPackage rec {
|
|||
openssl
|
||||
];
|
||||
|
||||
# The tests require network access which is not available in sandboxed Nix builds.
|
||||
doCheck = false;
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
|
|
@ -51,4 +50,4 @@ rustPlatform.buildRustPackage rec {
|
|||
license = with lib.licenses; [ asl20 ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
|||
|
|
@ -6,14 +6,14 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
pname = "cfripper";
|
||||
version = "1.20.1";
|
||||
version = "1.21.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Skyscanner";
|
||||
repo = "cfripper";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-HE9n28q1HX1HRSiXyEuUrAJGp4d5i1e0lROcsqpsobA=";
|
||||
hash = "sha256-psuUG8Kk+pl9Qv9vpH7yCn2X6leciftgFN1Ft+zEgtg=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
|
|
|||
|
|
@ -35,14 +35,14 @@ let
|
|||
in
|
||||
python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
pname = "checkov";
|
||||
version = "3.3.0";
|
||||
version = "3.3.6";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bridgecrewio";
|
||||
repo = "checkov";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-1hm3ZNvrO+U3PWb5gBSwKSXgOHQLU4avncSZOH/ijCM=";
|
||||
hash = "sha256-4wOFbEv1MVVuMpYQLs+oHQxCLw/tk++yTiR+yyLiCa8=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
|
|
|||
|
|
@ -8,17 +8,17 @@
|
|||
}:
|
||||
|
||||
maven.buildMavenPackage (finalAttrs: {
|
||||
version = "13.6.0";
|
||||
version = "13.7.0";
|
||||
pname = "checkstyle";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "checkstyle";
|
||||
repo = "checkstyle";
|
||||
tag = "checkstyle-${finalAttrs.version}";
|
||||
hash = "sha256-5E3GTE4fPmJYoSm2lK4tW1Dcu+SuyQKL396JLg3J22E=";
|
||||
hash = "sha256-BrgjkqkVnLYMlouyopUoCTby2z4YWZl4UK7m3Ktm5bE=";
|
||||
};
|
||||
|
||||
mvnHash = "sha256-r0adD/80UguRCIznE6hGdhRifm29GxMhQRSmd2/nabc=";
|
||||
mvnHash = "sha256-IKO61ugVjF03zA6pCwYKmwMVx/Ogy8hrt70ArOUm0NA=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
maven
|
||||
|
|
|
|||
|
|
@ -1,47 +1,47 @@
|
|||
{
|
||||
"version": "2.1.196",
|
||||
"commit": "a4ca500badcac68511fb5f04303e32e4360f3dfb",
|
||||
"buildDate": "2026-06-29T01:55:28Z",
|
||||
"version": "2.1.197",
|
||||
"commit": "c8fd8048f30950a21d28734718275aa7e97f5143",
|
||||
"buildDate": "2026-06-29T19:16:30Z",
|
||||
"platforms": {
|
||||
"darwin-arm64": {
|
||||
"binary": "claude",
|
||||
"checksum": "6fc6e61ab7582c2bf241225ff90d9f79e91d69380cb9589fc9dedd3a30070f5a",
|
||||
"size": 225782608
|
||||
"checksum": "8cc0c4d1e4eb1dca3b0cc92ab02ee3505de764e023f8c901761c167b72041fb8",
|
||||
"size": 227251472
|
||||
},
|
||||
"darwin-x64": {
|
||||
"binary": "claude",
|
||||
"checksum": "32c74d66e27b9ca77aea638fc46cb11c90470bd0d294b2a981065da8896d1ee0",
|
||||
"size": 235139408
|
||||
"checksum": "5e8a57cc7a92377f0744fa4c79191cf93d4b26c79cb919b07a407511fed1be26",
|
||||
"size": 235288016
|
||||
},
|
||||
"linux-arm64": {
|
||||
"binary": "claude",
|
||||
"checksum": "05aa9189d335d1e921ca9608acd699193e661559aff56704456ce5bda6fd4dd8",
|
||||
"size": 242203376
|
||||
"checksum": "fb48473c467c27615ac799a754f4ef0b68c363e4596cefbb59c3815d51a0cc8a",
|
||||
"size": 242334448
|
||||
},
|
||||
"linux-x64": {
|
||||
"binary": "claude",
|
||||
"checksum": "eb933c6dd5534db89b83ba09009d5c0932bd1395f7e3bb0f34ba37eec37bbade",
|
||||
"size": 245373752
|
||||
"checksum": "f54e69cbc89b2da61a415700af7ff52a147e862517d4f1b0eecf768448cf7f83",
|
||||
"size": 245517112
|
||||
},
|
||||
"linux-arm64-musl": {
|
||||
"binary": "claude",
|
||||
"checksum": "0591ff8e1378d3773c85456d0c812bf79b333cac2d06396cd076ecfc75022ba4",
|
||||
"size": 235451576
|
||||
"checksum": "acb885610ba06d90c46206ded9b14121bc30e96affecbfb3c37d511bf02af2bd",
|
||||
"size": 235582648
|
||||
},
|
||||
"linux-x64-musl": {
|
||||
"binary": "claude",
|
||||
"checksum": "fa7e93303ea5eda7defce9f70f360c1f951b06f9f36b03296baffbade512049f",
|
||||
"size": 240058752
|
||||
"checksum": "2f610c0f81341052426981b5dc59277a33e6ec3df924071b24edbc05e6a096dc",
|
||||
"size": 240202112
|
||||
},
|
||||
"win32-x64": {
|
||||
"binary": "claude.exe",
|
||||
"checksum": "180d7b279455e8b89d4353a5146447be2f80b80fb0db14bdc6dd9cb98c0aef09",
|
||||
"size": 235977376
|
||||
"checksum": "038bd9fe90c60304601e19751269a50d62925c541dd6a2b3da5274549e9416ee",
|
||||
"size": 236121248
|
||||
},
|
||||
"win32-arm64": {
|
||||
"binary": "claude.exe",
|
||||
"checksum": "882ed64ae93385067bff7b1e1d1975898f1cbca739dff322e0e370cd2db3e6ed",
|
||||
"size": 230444704
|
||||
"checksum": "8d2baeaf77b0e79ea33cf5ce78a37e64804c3a26d63d35355a830fda404a4f61",
|
||||
"size": 230588064
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,18 +6,18 @@
|
|||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "cnspec";
|
||||
version = "13.25.0";
|
||||
version = "13.27.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mondoohq";
|
||||
repo = "cnspec";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-6DyF9gOXZfN5wUpUtTO/Pj8wOcHbTRbZbTCYF3t9clE=";
|
||||
hash = "sha256-t/ugT15QxiwMJybX2mIwgx0wGQETLFJWplxNEosTq4A=";
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
|
||||
vendorHash = "sha256-q9ur5wbiJGZ8K0dI3xjpB4RsnEkoQetZu6Kj7IB7kEc=";
|
||||
vendorHash = "sha256-M2f2HApngE8GJRXy53u7bif1puNTE6BV6oxmnvSSS6Y=";
|
||||
|
||||
subPackages = [ "apps/cnspec" ];
|
||||
|
||||
|
|
|
|||
|
|
@ -53,13 +53,13 @@ in
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cockpit";
|
||||
version = "363.1";
|
||||
version = "364";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cockpit-project";
|
||||
repo = "cockpit";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-w9+S3qc95gcNvVLGMdWlRxKXhNjZbcgKSGxlSvNJp9o=";
|
||||
hash = "sha256-TAX0N6ZQWGr17GpyJS23Q5ES3USU2hxSiI867n6G17I=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
|||
1699
pkgs/by-name/co/code2prompt/Cargo.lock
generated
1699
pkgs/by-name/co/code2prompt/Cargo.lock
generated
File diff suppressed because it is too large
Load diff
|
|
@ -4,31 +4,30 @@
|
|||
rustPlatform,
|
||||
pkg-config,
|
||||
openssl,
|
||||
perl,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "code2prompt";
|
||||
version = "1.1.0";
|
||||
version = "4.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mufeedvh";
|
||||
repo = "code2prompt";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-KZqh0Vq4Mn56PhUO1JUzVpNBAGOZqUAsj31Cj5K+Lyk=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Gh8SsSTZW7QlyyC3SWJ5pOK2x85/GT7+LPJn2Jeczpc=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
};
|
||||
cargoHash = "sha256-t4HpGqojIkw9OBUAYz4ZEaB7XyHQxkFB2HtlkGKbe2s=";
|
||||
|
||||
postPatch = ''
|
||||
# src is missing Cargo.lock
|
||||
ln -s ${./Cargo.lock} Cargo.lock
|
||||
'';
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
perl
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [ openssl ];
|
||||
buildInputs = [
|
||||
openssl
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "CLI tool that converts your codebase into a single LLM prompt with a source tree, prompt templating, and token counting";
|
||||
|
|
|
|||
|
|
@ -11,13 +11,13 @@
|
|||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "coroot";
|
||||
version = "1.22.0";
|
||||
version = "1.23.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "coroot";
|
||||
repo = "coroot";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-FntRLdYazY/FeZrOp+DEV3eaaVhn5hxlE4dkUGbemTc=";
|
||||
hash = "sha256-aOTn7keIM5xTcYLOUW+8pmfpXyMSE/+Yq42Uitlr4OE=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-npMQah59pJqF6wgD2dlEleneIZbP/atDGEpjjb+KCpI=";
|
||||
|
|
|
|||
|
|
@ -51,13 +51,6 @@ stdenv'.mkDerivation (finalAttrs: {
|
|||
'CMAKE_MINIMUM_REQUIRED(VERSION 3.10 FATAL_ERROR)'
|
||||
|
||||
sed -e '1i #include <cstdint>' -i third_party/cxxopts/include/cxxopts.hpp
|
||||
|
||||
# Prevent setting the default nvcc arch flags, which can be
|
||||
# ones that don't work with the current CUDA version
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace-fail \
|
||||
'list(APPEND CUDA_NVCC_FLAGS ''${ARCH_FLAGS})' \
|
||||
""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "daktari";
|
||||
version = "0.0.335";
|
||||
version = "0.0.340";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
|
|
@ -15,7 +15,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
|||
owner = "genio-learn";
|
||||
repo = "daktari";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-yIhtP5k1qoy59qR10Pv6dqh7X8MACvQRsSAJR/6kEJ4=";
|
||||
hash = "sha256-gHBpezrya7i4Gh3dQHynS5vJtBhvXndruGsRRBBRde8=";
|
||||
};
|
||||
|
||||
patches = [ ./optional-pyclip.patch ];
|
||||
|
|
|
|||
|
|
@ -1,10 +1,13 @@
|
|||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
openssl,
|
||||
pkg-config,
|
||||
rustPlatform,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "dalfox";
|
||||
version = "3.1.2";
|
||||
|
||||
|
|
@ -15,20 +18,24 @@ buildGoModule (finalAttrs: {
|
|||
hash = "sha256-0amVlnLwwb7YAUbTce9gRmjv3W1FMgc2/XZQKCettTY=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
cargoHash = "sha256-pxlUEGCrJjoakAVpXFq2q73wEWiODsHvdax12quDlec=";
|
||||
|
||||
ldflags = [
|
||||
"-w"
|
||||
"-s"
|
||||
];
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
# Tests require network access
|
||||
buildInputs = [ openssl ];
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
# Many unit tests perform live HTTP requests / OOB interactsh lookups and
|
||||
# fail in the sandbox.
|
||||
doCheck = false;
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
meta = {
|
||||
description = "Tool for analysing parameter and XSS scanning";
|
||||
description = "Tool for analyzing parameter and XSS scanning";
|
||||
homepage = "https://github.com/hahwul/dalfox";
|
||||
changelog = "https://github.com/hahwul/dalfox/releases/tag/v${finalAttrs.version}";
|
||||
changelog = "https://github.com/hahwul/dalfox/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
mainProgram = "dalfox";
|
||||
|
|
|
|||
|
|
@ -9,13 +9,13 @@
|
|||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "deck";
|
||||
version = "1.63.0";
|
||||
version = "1.64.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Kong";
|
||||
repo = "deck";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-WmzjFMOOyx65EGnHdn9pWItFh1HVIp1DbNNwtQrPnPQ=";
|
||||
hash = "sha256-nVV1nNOQ5zqywUXg3vdyiudryWVRKiDWU0Yc8b0albo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
|
@ -28,7 +28,7 @@ buildGoModule (finalAttrs: {
|
|||
];
|
||||
|
||||
proxyVendor = true; # darwin/linux hash mismatch
|
||||
vendorHash = "sha256-YJ8Q/m+yL9x5CYnIOtYWNYcVUy4lHm/IYSm7kNZqqt4=";
|
||||
vendorHash = "sha256-lo+1ijaWod0UB2PXzmg806q2KYrVu9yNgkI/Nq2lyq4=";
|
||||
|
||||
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
installShellCompletion --cmd deck \
|
||||
|
|
|
|||
|
|
@ -9,13 +9,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dethrace";
|
||||
version = "0.9.0";
|
||||
version = "0.10.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dethrace-labs";
|
||||
repo = "dethrace";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-+C3NyRLmvXrkZuhLGwIIHFWjXLMpt3srLZCVrxRUlkA=";
|
||||
hash = "sha256-SGQGErlmsJEhjdvZa2YPJWwNFuZR4RL81W7meilw8t0=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,97 +0,0 @@
|
|||
From fade8d04bfdbf473f3930feba7183957372e7fa7 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Daniels <mdaniels5757@gmail.com>
|
||||
Date: Sun, 28 Jun 2026 16:20:43 -0400
|
||||
Subject: [PATCH] fix tests with zipdetails 4.006
|
||||
|
||||
---
|
||||
tests/comparators/test_zip.py | 3 ++-
|
||||
tests/data/zip2_zipdetails_expected_diff | 2 +-
|
||||
tests/data/zip_zipdetails_expected_diff | 10 +++++-----
|
||||
3 files changed, 8 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/tests/comparators/test_zip.py b/tests/comparators/test_zip.py
|
||||
index 75ec38be..ecff1930 100644
|
||||
--- a/tests/comparators/test_zip.py
|
||||
+++ b/tests/comparators/test_zip.py
|
||||
@@ -81,7 +81,7 @@ def differences2(zip1, zip3):
|
||||
|
||||
|
||||
@skip_unless_tools_exist("zipinfo", "zipdetails")
|
||||
-@skip_unless_tool_is_at_least("zipdetails", zipdetails_version, "4.004")
|
||||
+@skip_unless_tool_is_at_least("zipdetails", zipdetails_version, "4.006")
|
||||
@skip_unless_tool_is_at_least("perl", io_compress_zip_version, "2.212")
|
||||
def test_metadata(differences):
|
||||
assert_diff(differences[0], "zip_zipinfo_expected_diff")
|
||||
@@ -96,6 +96,7 @@ def test_compressed_files(differences):
|
||||
|
||||
|
||||
@skip_unless_tools_exist("zipinfo", "bsdtar", "zipdetails")
|
||||
+@skip_unless_tool_is_at_least("zipdetails", zipdetails_version, "4.006")
|
||||
@skip_unless_tool_is_at_least("perl", io_compress_zip_version, "2.212")
|
||||
def test_extra_fields(differences2):
|
||||
assert_diff(differences2[0], "zip_bsdtar_expected_diff")
|
||||
diff --git a/tests/data/zip2_zipdetails_expected_diff b/tests/data/zip2_zipdetails_expected_diff
|
||||
index 291dca88..281cf6c5 100644
|
||||
--- a/tests/data/zip2_zipdetails_expected_diff
|
||||
+++ b/tests/data/zip2_zipdetails_expected_diff
|
||||
@@ -5,7 +5,7 @@
|
||||
#
|
||||
0064 Extra ID #1 5455 (21589) 'Extended Timestamp [UT]'
|
||||
0066 Length 0009 (9)
|
||||
- 0068 Flags 03 (3) 'Modification Access'
|
||||
+ 0068 Flags 03 (3) 'Modification & Access'
|
||||
-0069 Modification Time 558AB455 (1435153493) 'Wed Jun 24 13:44:53 2015'
|
||||
-006D Access Time 558AB45F (1435153503) 'Wed Jun 24 13:45:03 2015'
|
||||
+0069 Modification Time 41414141 (1094795585) 'Fri Sep 10 05:53:05 2004'
|
||||
diff --git a/tests/data/zip_zipdetails_expected_diff b/tests/data/zip_zipdetails_expected_diff
|
||||
index 978c2583..50df2696 100644
|
||||
--- a/tests/data/zip_zipdetails_expected_diff
|
||||
+++ b/tests/data/zip_zipdetails_expected_diff
|
||||
@@ -23,7 +23,7 @@
|
||||
#
|
||||
0064 Extra ID #1 5455 (21589) 'Extended Timestamp [UT]'
|
||||
0066 Length 0009 (9)
|
||||
- 0068 Flags 03 (3) 'Modification Access'
|
||||
+ 0068 Flags 03 (3) 'Modification & Access'
|
||||
-0069 Modification Time 558AB455 (1435153493) 'Wed Jun 24 13:44:53 2015'
|
||||
+0069 Modification Time 558AB474 (1435153524) 'Wed Jun 24 13:45:24 2015'
|
||||
006D Access Time 558AB45F (1435153503) 'Wed Jun 24 13:45:03 2015'
|
||||
@@ -85,7 +85,7 @@
|
||||
#
|
||||
-01BF Extra ID #1 5455 (21589) 'Extended Timestamp [UT]'
|
||||
-01C1 Length 0005 (5)
|
||||
--01C3 Flags 03 (3) 'Modification Access'
|
||||
+-01C3 Flags 03 (3) 'Modification & Access'
|
||||
-01C4 Modification Time 558AB455 (1435153493) 'Wed Jun 24 13:44:53 2015'
|
||||
-01C8 Extra ID #2 7875 (30837) 'Unix Extra type 3 [ux]'
|
||||
-01CA Length 000B (11)
|
||||
@@ -96,7 +96,7 @@
|
||||
-01D3 GID 000003E8 (1000)
|
||||
+024E Extra ID #1 5455 (21589) 'Extended Timestamp [UT]'
|
||||
+0250 Length 0005 (5)
|
||||
-+0252 Flags 03 (3) 'Modification Access'
|
||||
++0252 Flags 03 (3) 'Modification & Access'
|
||||
+0253 Modification Time 558AB455 (1435153493) 'Wed Jun 24 13:44:53 2015'
|
||||
+0257 Extra ID #2 7875 (30837) 'Unix Extra type 3 [ux]'
|
||||
+0259 Length 000B (11)
|
||||
@@ -163,7 +163,7 @@
|
||||
#
|
||||
-020D Extra ID #1 5455 (21589) 'Extended Timestamp [UT]'
|
||||
-020F Length 0005 (5)
|
||||
--0211 Flags 03 (3) 'Modification Access'
|
||||
+-0211 Flags 03 (3) 'Modification & Access'
|
||||
-0212 Modification Time 558AB455 (1435153493) 'Wed Jun 24 13:44:53 2015'
|
||||
-0216 Extra ID #2 7875 (30837) 'Unix Extra type 3 [ux]'
|
||||
-0218 Length 000B (11)
|
||||
@@ -174,7 +174,7 @@
|
||||
-0221 GID 000003E8 (1000)
|
||||
+029C Extra ID #1 5455 (21589) 'Extended Timestamp [UT]'
|
||||
+029E Length 0005 (5)
|
||||
-+02A0 Flags 03 (3) 'Modification Access'
|
||||
++02A0 Flags 03 (3) 'Modification & Access'
|
||||
+02A1 Modification Time 558AB474 (1435153524) 'Wed Jun 24 13:45:24 2015'
|
||||
+02A5 Extra ID #2 7875 (30837) 'Unix Extra type 3 [ux]'
|
||||
+02A7 Length 000B (11)
|
||||
--
|
||||
2.54.0
|
||||
|
||||
|
|
@ -109,12 +109,12 @@ in
|
|||
# Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
|
||||
python.pkgs.buildPythonApplication rec {
|
||||
pname = "diffoscope";
|
||||
version = "322";
|
||||
version = "323";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
|
||||
hash = "sha256-dina2JdbLL/jfo4eMuUo62KggST95w0b7oonY86zjgk=";
|
||||
hash = "sha256-TFSeCS7D2D496rUrosYAWP4kHsu6x386c8AJ5c4aKYs=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
|
|
@ -124,10 +124,6 @@ python.pkgs.buildPythonApplication rec {
|
|||
|
||||
patches = [
|
||||
./ignore_links.patch
|
||||
# Remove flags output from an OCaml test's diff, as it's Debian-specific
|
||||
./remove-flags-from-ocaml-diff.patch
|
||||
# https://salsa.debian.org/reproducible-builds/diffoscope/-/merge_requests/166
|
||||
./fix-tests-with-zipdetails-4.006.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
|||
|
|
@ -1,27 +0,0 @@
|
|||
From 18cf9ab675691c7173a9b7fafd6d521c3ea75862 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Daniels <mdaniels5757@gmail.com>
|
||||
Date: Sat, 20 Jun 2026 11:42:29 -0400
|
||||
Subject: [PATCH] tests/data/ocaml_expected_diff: remove flags from diff
|
||||
|
||||
This output comes from a Debian-specific OCaml patch, see
|
||||
https://salsa.debian.org/ocaml-team/ocaml/-/blob/archive/debian/5.4.1-1/debian/patches/Print-.cmi-flags-in-objinfo.patch
|
||||
---
|
||||
tests/data/ocaml_expected_diff | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/tests/data/ocaml_expected_diff b/tests/data/ocaml_expected_diff
|
||||
index 79631882..a48de841 100644
|
||||
--- a/tests/data/ocaml_expected_diff
|
||||
+++ b/tests/data/ocaml_expected_diff
|
||||
@@ -1,7 +1,6 @@
|
||||
-@@ -1,6 +1,6 @@
|
||||
+@@ -1,5 +1,5 @@
|
||||
-Unit name: Test1
|
||||
+Unit name: Test2
|
||||
- Flags: [ Alerts _ ]
|
||||
Interfaces imported:
|
||||
- 351c2dc2fb4a56dac258b47c26262db6 Test1
|
||||
+ ac02205dc900024a67ede9f394c59d72 Test2
|
||||
--
|
||||
2.54.0
|
||||
|
||||
128
pkgs/by-name/do/docker-sbx/package.nix
Normal file
128
pkgs/by-name/do/docker-sbx/package.nix
Normal file
|
|
@ -0,0 +1,128 @@
|
|||
{
|
||||
lib,
|
||||
fetchurl,
|
||||
stdenvNoCC,
|
||||
installShellFiles,
|
||||
autoPatchelfHook,
|
||||
makeWrapper,
|
||||
gccForLibs,
|
||||
e2fsprogs,
|
||||
lz4,
|
||||
xxhash,
|
||||
zlib,
|
||||
zstd,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "docker-sbx";
|
||||
version = "0.34.0";
|
||||
src =
|
||||
if stdenvNoCC.hostPlatform.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
url = "https://github.com/docker/sbx-releases/releases/download/v${finalAttrs.version}/DockerSandboxes-linux-amd64.tar.gz";
|
||||
hash = "sha256-5H9LOyKi0/SBVJ0ld6OkcP1h9r9eHrAb4fsVVVdMusg=";
|
||||
}
|
||||
else if stdenvNoCC.hostPlatform.system == "aarch64-linux" then
|
||||
fetchurl {
|
||||
url = "https://github.com/docker/sbx-releases/releases/download/v${finalAttrs.version}/DockerSandboxes-linux-arm64.tar.gz";
|
||||
hash = "sha256-dZ/ttnmaf62rA5Cs8YSmZGHVQoy9PQh3Ok/AnIjCqZ4=";
|
||||
}
|
||||
else if stdenvNoCC.hostPlatform.system == "aarch64-darwin" then
|
||||
fetchurl {
|
||||
url = "https://github.com/docker/sbx-releases/releases/download/v${finalAttrs.version}/DockerSandboxes-darwin.tar.gz";
|
||||
hash = "sha256-aBh6NbtQ5o2zxuR+d1U1gZpm2bch/J3Y8GZ73DeUBUk=";
|
||||
}
|
||||
else
|
||||
throw "Unsupported host platform ${stdenvNoCC.hostPlatform.system}";
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
sourceRoot = if stdenvNoCC.hostPlatform.isDarwin then "." else null;
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
versionCheckHook
|
||||
]
|
||||
++ lib.optionals stdenvNoCC.hostPlatform.isLinux [
|
||||
autoPatchelfHook
|
||||
makeWrapper
|
||||
e2fsprogs
|
||||
];
|
||||
|
||||
buildInputs = lib.optionals stdenvNoCC.hostPlatform.isLinux [
|
||||
lz4
|
||||
zlib
|
||||
zstd
|
||||
xxhash
|
||||
gccForLibs
|
||||
];
|
||||
|
||||
dontBuild = true;
|
||||
doInstallCheck = true;
|
||||
versionCheckProgramArg = "version";
|
||||
versionCheckKeepEnvironment = [ "HOME" ];
|
||||
preVersionCheck = ''
|
||||
export HOME=$TMPDIR
|
||||
'';
|
||||
|
||||
installPhase =
|
||||
if stdenvNoCC.hostPlatform.isLinux then
|
||||
''
|
||||
runHook preInstall
|
||||
|
||||
PREFIX=$out bash ./install.sh
|
||||
|
||||
wrapProgram $out/bin/sbx \
|
||||
--prefix PATH : ${lib.makeBinPath [ e2fsprogs ]}
|
||||
|
||||
${lib.optionalString (stdenvNoCC.buildPlatform.canExecute stdenvNoCC.hostPlatform) ''
|
||||
export HOME=$TMPDIR
|
||||
$out/bin/sbx completion bash > sbx.bash
|
||||
$out/bin/sbx completion fish > sbx.fish
|
||||
$out/bin/sbx completion zsh > sbx.zsh
|
||||
installShellCompletion sbx.{bash,fish,zsh}
|
||||
''}
|
||||
|
||||
runHook postInstall
|
||||
''
|
||||
else
|
||||
''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -pv $out
|
||||
cp -rv bin libexec $out
|
||||
|
||||
installShellCompletion \
|
||||
--bash --name sbx.bash completions/bash/sbx \
|
||||
--zsh --name _sbx completions/zsh/_sbx \
|
||||
--fish --name sbx.fish completions/fish/sbx.fish
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Safe environments for agents";
|
||||
longDescription = ''
|
||||
Docker Sandboxes provides sandboxes with controlled access to your
|
||||
filesystem, network, and tools. This means your agents can work
|
||||
autonomously without putting your machine or data at risk.
|
||||
'';
|
||||
homepage = "https://docs.docker.com/reference/cli/sbx/";
|
||||
changelog = "https://github.com/docker/sbx-releases/releases/tag/v${finalAttrs.version}";
|
||||
mainProgram = "sbx";
|
||||
platforms = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
license = lib.licenses.unfree;
|
||||
maintainers = [
|
||||
lib.maintainers.skyesoss
|
||||
lib.maintainers.erics118
|
||||
];
|
||||
};
|
||||
})
|
||||
|
|
@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
];
|
||||
|
||||
postUnpack = ''
|
||||
rm source/{dumpifs,exMifsLzo,uuu,zzz}
|
||||
rm ${finalAttrs.src.name}/{dumpifs,exMifsLzo,uuu,zzz}
|
||||
'';
|
||||
|
||||
patches = [ ./package.patch ];
|
||||
|
|
|
|||
|
|
@ -10,20 +10,20 @@
|
|||
|
||||
let
|
||||
pname = "electron-mail";
|
||||
version = "5.3.7";
|
||||
version = "5.3.8";
|
||||
|
||||
sources = {
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://github.com/vladimiry/ElectronMail/releases/download/v${version}/electron-mail-${version}-linux-x86_64.AppImage";
|
||||
hash = "sha256-VJbCQ/4yIuBE4NPDFUbp8t2G/QjUclphH/MghvamDVo=";
|
||||
hash = "sha256-twqB1D3zLlZJuxQWD4dGF70w57yYv6i3abGBidERsss=";
|
||||
};
|
||||
aarch64-darwin = fetchurl {
|
||||
url = "https://github.com/vladimiry/ElectronMail/releases/download/v${version}/electron-mail-${version}-mac-arm64.dmg";
|
||||
hash = "sha256-ulB+dlp6ZBhcBJiLY4k+E/oEWy9XSIuIzd5rTzEq9+4=";
|
||||
hash = "sha256-V32Wi0oCU9dLfzqxg3OdseiILX7wPiBGNz7KuG0vlZY=";
|
||||
};
|
||||
x86_64-darwin = fetchurl {
|
||||
url = "https://github.com/vladimiry/ElectronMail/releases/download/v${version}/electron-mail-${version}-mac-x64.dmg";
|
||||
hash = "sha256-LbAqUj34m8qSq8sQ1xgCQj9+MfJHoFDRMq+/waMKtzM=";
|
||||
hash = "sha256-I1UvFMSdAwkqgkhn+mkBGslA8v+VTajO/Za0lJ5uYZ8=";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -6,14 +6,14 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
pname = "embedxpl";
|
||||
version = "3.8.1";
|
||||
version = "3.8.8";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mrhenrike";
|
||||
repo = "EmbedXPL-Forge";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-y3Ftmqb5RnY1U2uqrq4Olyr0I0ZVJo/pgMY7RpbZqlU=";
|
||||
hash = "sha256-L3gY2wna1V7nF/vGwr1hzq8WeQxTTsvgKMAatVUKZ9E=";
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
|
|
|||
|
|
@ -7,13 +7,13 @@
|
|||
}:
|
||||
llvmPackages.stdenv.mkDerivation rec {
|
||||
pname = "enzyme";
|
||||
version = "0.0.271";
|
||||
version = "0.0.277";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EnzymeAD";
|
||||
repo = "Enzyme";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-R3hdy6VSTHBe2ei4aysJhrc++ptQioVe88p/c2CuUP4=";
|
||||
hash = "sha256-GAICiChPRRFBsZsQtCpPBzNvjWpx5YSAlwYL0/fEe5A=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
lib,
|
||||
fetchFromGitHub,
|
||||
python3,
|
||||
writableTmpDirAsHomeHook,
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
|
|
@ -21,6 +22,7 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
|
|||
--replace-fail '"pytest-runner",' "" '';
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"pytenable"
|
||||
"python-socketio"
|
||||
];
|
||||
|
||||
|
|
@ -28,13 +30,9 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
|
|||
"python-owasp-zap-v2.4"
|
||||
];
|
||||
|
||||
build-system = with python3.pkgs; [
|
||||
setuptools-scm
|
||||
];
|
||||
build-system = with python3.pkgs; [ setuptools-scm ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3.pkgs.python-owasp-zap-v2-4
|
||||
];
|
||||
nativeBuildInputs = with python3.pkgs; [ python-owasp-zap-v2-4 ];
|
||||
|
||||
dependencies = with python3.pkgs; [
|
||||
aiohttp
|
||||
|
|
@ -57,12 +55,9 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
|
|||
nativeCheckInputs = with python3.pkgs; [
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
export HOME=$(mktemp -d);
|
||||
'';
|
||||
|
||||
disabledTests = [
|
||||
"test_execute_agent"
|
||||
"SSL"
|
||||
|
|
@ -74,14 +69,12 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
|
|||
"tests/unittests/test_import_official_executors.py"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"faraday_agent_dispatcher"
|
||||
];
|
||||
pythonImportsCheck = [ "faraday_agent_dispatcher" ];
|
||||
|
||||
meta = {
|
||||
description = "Tool to send result from tools to the Faraday Platform";
|
||||
homepage = "https://github.com/infobyte/faraday_agent_dispatcher";
|
||||
changelog = "https://github.com/infobyte/faraday_agent_dispatcher/releases/tag/${finalAttrs.version}";
|
||||
changelog = "https://github.com/infobyte/faraday_agent_dispatcher/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
mainProgram = "faraday-dispatcher";
|
||||
|
|
|
|||
|
|
@ -7,14 +7,14 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
pname = "fetchtastic";
|
||||
version = "0.10.10";
|
||||
version = "0.10.11";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jeremiah-k";
|
||||
repo = "fetchtastic";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-ImXBH1mvJE+Ae7fUqR/Z381TKGt6hq0BRHhdtOz3YO4=";
|
||||
hash = "sha256-/kp9bfJJLffZp+9dEY7G+RQmE43XXwNozkDYjeAjPkc=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [ "platformdirs" ];
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
lib,
|
||||
php,
|
||||
fetchFromGitHub,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
php.buildComposerProject2 (finalAttrs: {
|
||||
|
|
@ -19,6 +20,8 @@ php.buildComposerProject2 (finalAttrs: {
|
|||
composerStrictValidation = false;
|
||||
vendorHash = "sha256-EHl+Mr6y5A51EpLPAWUGtiPkLOky6KvsSY4JWHeyO28=";
|
||||
|
||||
passthru.tests.module = nixosTests.flarum;
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/flarum/framework/blob/main/CHANGELOG.md";
|
||||
description = "Delightfully simple discussion platform for your website";
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "flyctl";
|
||||
version = "0.4.60";
|
||||
version = "0.4.63";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "superfly";
|
||||
|
|
@ -22,11 +22,11 @@ buildGoModule rec {
|
|||
cd "$out"
|
||||
git rev-parse HEAD > COMMIT
|
||||
'';
|
||||
hash = "sha256-ToKKn3Scj++VLv0SCMNQHkbffs2aADto0tLv80aFqzc=";
|
||||
hash = "sha256-dGqL6lKx67VzlfHvaCpOTpHtFao99zLIYXiORPHP5e8=";
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
vendorHash = "sha256-XBpLOhC3fY18o0tQZXgyKrQRgd84U5SRo6Rrgkuq4f8=";
|
||||
vendorHash = "sha256-X6cEAaUIHTJoNwoBlGFZUA4M8/AnRY3oTiWW7/03PXY=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
|
|
|
|||
|
|
@ -8,13 +8,13 @@
|
|||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "forgejo-mcp";
|
||||
version = "2.30.0";
|
||||
version = "2.30.1";
|
||||
|
||||
src = fetchFromCodeberg {
|
||||
owner = "goern";
|
||||
repo = "forgejo-mcp";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-DV8lL6Q/0gD8mFn3q5UusHv8ahNtmk9t9vtbhpvpxBs=";
|
||||
hash = "sha256-Xi75PFZuNKDfxFhnwYsArD9GphrRLxJlFZgzocMR4C4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-QDJRbF4mZzBv1vxvo1ZQJaUJayRHj1jMgjaRfAmLMik=";
|
||||
|
|
|
|||
|
|
@ -16,24 +16,24 @@
|
|||
let
|
||||
|
||||
pname = "freelens-bin";
|
||||
version = "1.10.1";
|
||||
version = "1.10.2";
|
||||
|
||||
sources = {
|
||||
x86_64-linux = {
|
||||
url = "https://github.com/freelensapp/freelens/releases/download/v${version}/Freelens-${version}-linux-amd64.AppImage";
|
||||
hash = "sha256-Hbu28vbgaSEjJTAVSfHJ3cZGd2PRU0ex7dNv0wo1SrI=";
|
||||
hash = "sha256-l+6QnlDnNs2t4auJRS0MLy592OfQDd0tDNqiVH5xJ3g=";
|
||||
};
|
||||
aarch64-linux = {
|
||||
url = "https://github.com/freelensapp/freelens/releases/download/v${version}/Freelens-${version}-linux-arm64.AppImage";
|
||||
hash = "sha256-JrApeOjMXNNi/wCq6vY6rYpPGgMWti0H+2i7QNEXaTc=";
|
||||
hash = "sha256-Pw6RPa6T9jN7XAfOqj6lDFzTqhwOT1DgK35cANyBAOE=";
|
||||
};
|
||||
x86_64-darwin = {
|
||||
url = "https://github.com/freelensapp/freelens/releases/download/v${version}/Freelens-${version}-macos-amd64.dmg";
|
||||
hash = "sha256-BIBEaQFny/DvzrvsC38UPiIqBFaxUO/DOVQTIe2gL+Q=";
|
||||
hash = "sha256-6qn/3Zly7nvj9XxihUdmkguLWw0a7Y321Xv7EnJzjkc=";
|
||||
};
|
||||
aarch64-darwin = {
|
||||
url = "https://github.com/freelensapp/freelens/releases/download/v${version}/Freelens-${version}-macos-arm64.dmg";
|
||||
hash = "sha256-5duswriuDmL92tXqLckBhH2RMPFDqFRG/WW9oYMClGY=";
|
||||
hash = "sha256-ARIvUMkkdUK5O6xdplXJ/JkPdezO/16HvO2P21W6y8I=";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
|
||||
meta = {
|
||||
homepage = "https://davidgriffith.gitlab.io/frotz/";
|
||||
changelog = "https://gitlab.com/DavidGriffith/frotz/-/raw/${finalAttrs.version}/NEWS";
|
||||
changelog = "https://gitlab.com/DavidGriffith/frotz/-/raw/${finalAttrs.version}/ChangeLog";
|
||||
description = "Z-machine interpreter for Infocom games and other interactive fiction (${frontend})";
|
||||
mainProgram = progName;
|
||||
platforms = lib.platforms.unix;
|
||||
|
|
|
|||
50
pkgs/by-name/ga/gamemac/package.nix
Normal file
50
pkgs/by-name/ga/gamemac/package.nix
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchurl,
|
||||
undmg,
|
||||
makeWrapper,
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "gamemac";
|
||||
version = "0.8.328";
|
||||
|
||||
src = fetchurl {
|
||||
name = "GameHub_en_${finalAttrs.version}.dmg";
|
||||
url = "https://gamehub-cdn.masnet.cn/uploads/upgrade/20260618/b616a96780c249a789d95f7b897333cb.dmg";
|
||||
hash = "sha256-uo/kr9PAFREfbkXX9hpJJNT6OZDv3jnOuZgc2fwtSyM=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
undmg
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p "$out/Applications" "$out/bin"
|
||||
mv GameHub.app "$out/Applications/"
|
||||
makeWrapper "$out/Applications/GameHub.app/Contents/MacOS/GameHub" "$out/bin/GameHub"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = {
|
||||
description = "Play mobile games natively on macOS";
|
||||
homepage = "https://www.gamemac.com/en/";
|
||||
license = lib.licenses.unfree;
|
||||
maintainers = with lib.maintainers; [ damidoug ];
|
||||
mainProgram = "GameHub";
|
||||
platforms = lib.platforms.darwin;
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
})
|
||||
32
pkgs/by-name/ga/gamemac/update.sh
Executable file
32
pkgs/by-name/ga/gamemac/update.sh
Executable file
|
|
@ -0,0 +1,32 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p bash curl gnused nix
|
||||
|
||||
set -euo pipefail
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")"
|
||||
|
||||
ROLLING_URL="https://api-international-gamehub.xiaoji.com/game/download/mac/en"
|
||||
UA="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
|
||||
|
||||
# Resolve rolling URL to stable CDN URL (strip query string)
|
||||
DIRECT_URL=$(curl -fsSL -A "$UA" -w "%{url_effective}" -o /dev/null "$ROLLING_URL")
|
||||
CDN_URL="${DIRECT_URL%%\?*}"
|
||||
|
||||
# Extract version from CDN filename (e.g. .../GameHub_en_0.8.328.dmg)
|
||||
VERSION=$(basename "$CDN_URL" | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
|
||||
|
||||
CURRENT=$(grep 'version = ' package.nix | head -1 | grep -oE '"[0-9.]+"' | tr -d '"')
|
||||
if [ "$VERSION" = "$CURRENT" ]; then
|
||||
echo "Already at $VERSION"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
HASH=$(nix-prefetch-url --name "GameHub_en_${VERSION}.dmg" --type sha256 "$CDN_URL")
|
||||
SRI=$(nix-hash --to-sri --type sha256 "$HASH")
|
||||
|
||||
sed -i \
|
||||
-e "s|version = \"[^\"]*\"|version = \"$VERSION\"|" \
|
||||
-e "s|https://gamehub-cdn\.masnet\.cn/uploads/upgrade/[^\"]*|$CDN_URL|" \
|
||||
-e "s|hash = \"sha256-[^\"]*\"|hash = \"$SRI\"|" \
|
||||
package.nix
|
||||
|
||||
echo "Updated $CURRENT -> $VERSION"
|
||||
|
|
@ -9,16 +9,16 @@
|
|||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "gcx";
|
||||
version = "0.4.0";
|
||||
version = "0.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "grafana";
|
||||
repo = "gcx";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-6ZKlNLtP3dwPAIXGnupIk0wuXs+qMy2d2OreKfKJlxM=";
|
||||
hash = "sha256-Gf05N13ZJLjB55eCcIfXIoJn3CVAAR5mcFyEq8s+RxY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-FzhQfooCApBsnNH/cZYFfy3m4cDSBVX9ueaWfhTgx1k=";
|
||||
vendorHash = "sha256-JioNpEqGFxD6Gg84ZZ/9OrETxTGn2V+HMlGGiiZfeIo=";
|
||||
|
||||
subPackages = [ "cmd/gcx" ];
|
||||
|
||||
|
|
|
|||
|
|
@ -12,13 +12,13 @@
|
|||
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "ghostfolio";
|
||||
version = "3.13.0";
|
||||
version = "3.18.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ghostfolio";
|
||||
repo = "ghostfolio";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-tPVGMAP45x/4NTL8px9jEbW6hQyhiOYiZp0tuDdfYL8=";
|
||||
hash = "sha256-BSH7NQV2iTmfGE6dHQEeObQQ5CkKZxsgHAbrjElHHHE=";
|
||||
# populate values that require us to use git. By doing this in postFetch we
|
||||
# can delete .git afterwards and maintain better reproducibility of the src.
|
||||
leaveDotGit = true;
|
||||
|
|
@ -28,7 +28,7 @@ buildNpmPackage (finalAttrs: {
|
|||
'';
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-0/tHzfJrotlCxhiiVC6yddlj62Ef6IAeaZf/xufFiWU=";
|
||||
npmDepsHash = "sha256-0Si+3zHyGoMbgEpNWdZVp+obNE0oqM8ghYDZvloJU5g=";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace replace.build.mjs \
|
||||
|
|
|
|||
|
|
@ -9,14 +9,14 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
pname = "git-machete";
|
||||
version = "3.41.0";
|
||||
version = "3.44.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "virtuslab";
|
||||
repo = "git-machete";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-3BofEBgHgtdpQeaMx1BaNtDQ/HmX3GYagKOVHGq1+os=";
|
||||
hash = "sha256-3yUzHzhc6qHw8jPbO9ZMsffhXgEyAlT2NzYCuC9/qsc=";
|
||||
};
|
||||
|
||||
build-system = with python3.pkgs; [ setuptools ];
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
}:
|
||||
|
||||
let
|
||||
version = "6.4.3";
|
||||
version = "6.5.2";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "git-mit";
|
||||
|
|
@ -19,10 +19,10 @@ rustPlatform.buildRustPackage {
|
|||
owner = "PurpleBooth";
|
||||
repo = "git-mit";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-Id7S0qE1020pPMoyCl8jkHWrbdOb6FZHLNsqRvwjpf8=";
|
||||
hash = "sha256-5tVNCvaNxW9Ko+x2GWi3fMpyuwxgjMNLTED6gvxagnI=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-edKtumK9HGIXHy/ZdxZ1+lxYi+cS5G129E+WK9/JE10=";
|
||||
cargoHash = "sha256-gSvFdvW+XW0MGFkwAkVrcC1ETjoGaFJxioD9ENEpml4=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
|
|
|||
|
|
@ -8,13 +8,13 @@
|
|||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "github-mcp-server";
|
||||
version = "1.4.0";
|
||||
version = "1.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "github";
|
||||
repo = "github-mcp-server";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-5INN7B/F1KcyZwZ3xeOBiCnfAdK1PXVnMZf3t8JIk6I=";
|
||||
hash = "sha256-O8ooNaFmWXMhsn7UQITgo48VkdYbVTCC4WkHoU9abyo=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-J1hC4hdEKLENXLJrsyV41TaJ9+2CuPz5KoIMm2mXvTE=";
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
pnpm_10_29_2,
|
||||
pnpm_10,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
nodejs,
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
nix-update-script,
|
||||
}:
|
||||
let
|
||||
pnpm = pnpm_10_29_2;
|
||||
pnpm = pnpm_10;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gitify";
|
||||
|
|
|
|||
38
pkgs/by-name/gi/gitlab-ci-validate/package.nix
Normal file
38
pkgs/by-name/gi/gitlab-ci-validate/package.nix
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "gitlab-ci-validate";
|
||||
version = "0.6.0";
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Code0x58";
|
||||
repo = "gitlab-ci-validate";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-j32knPhVio2OTATkW1Z3SMMYwl9u6Lh00Rell/knQ/0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-/+iu9SIaLtE51xcEzgA8dCp0eTAoPskp4xGlm1bsXTs=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X=main.version=${finalAttrs.version}"
|
||||
];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Command line tool to validate .gitlab-ci.yml files";
|
||||
homepage = "https://github.com/Code0x58/gitlab-ci-validate";
|
||||
changelog = "https://github.com/Code0x58/gitlab-ci-validate/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ drupol ];
|
||||
mainProgram = "gitlab-ci-validate";
|
||||
};
|
||||
})
|
||||
|
|
@ -10,13 +10,13 @@
|
|||
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "glitchtip-frontend";
|
||||
version = "6.1.8";
|
||||
version = "6.2.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "glitchtip";
|
||||
repo = "glitchtip-frontend";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-y8NPj1xjGnGS9yBFaRjFRxLdTGrAq08T9N7cZN5IeSc=";
|
||||
hash = "sha256-iKY1w9lmfuyvDblH/TlnUwAnda17qWGxmx1qtmQRENg=";
|
||||
};
|
||||
|
||||
nodejs = nodejs_22;
|
||||
|
|
@ -25,7 +25,7 @@ buildNpmPackage (finalAttrs: {
|
|||
name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps";
|
||||
inherit (finalAttrs) src;
|
||||
npmDepsFetcherVersion = 3;
|
||||
hash = "sha256-AIzPJpNvGV/U71UFAUwOqx8kb31s7LXhMha4bXV+oCU=";
|
||||
hash = "sha256-V9aRKoJ6+BN/q7NS21eZBopzkWje8sOGGL1AgO4cUM0=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue