mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-29 10:23:29 +00:00
Merge master into staging-next
This commit is contained in:
commit
a452899759
@ -219,7 +219,7 @@ buildDotnetGlobalTool {
|
||||
## Generating and updating NuGet dependencies {#generating-and-updating-nuget-dependencies}
|
||||
|
||||
When writing a new expression, you can use the generated `fetch-deps` script to initialise the lockfile.
|
||||
After creating a blank `deps.nix` and pointing `nugetDeps` to it,
|
||||
After setting `nugetDeps` to the desired location of the lockfile (e.g. `./deps.nix`),
|
||||
build the script with `nix-build -A package.fetch-deps` and then run the result.
|
||||
(When the root attr is your package, it's simply `nix-build -A fetch-deps`.)
|
||||
|
||||
|
174
lib/fetchers.nix
174
lib/fetchers.nix
@ -1,6 +1,17 @@
|
||||
# snippets that can be shared by multiple fetchers (pkgs/build-support)
|
||||
{ lib }:
|
||||
{
|
||||
let
|
||||
commonH = hashTypes: rec {
|
||||
hashNames = [ "hash" ] ++ hashTypes;
|
||||
hashSet = lib.genAttrs hashNames (lib.const {});
|
||||
};
|
||||
|
||||
fakeH = {
|
||||
hash = lib.fakeHash;
|
||||
sha256 = lib.fakeSha256;
|
||||
sha512 = lib.fakeSha512;
|
||||
};
|
||||
in rec {
|
||||
|
||||
proxyImpureEnvVars = [
|
||||
# We borrow these environment variables from the caller to allow
|
||||
@ -14,4 +25,165 @@
|
||||
"NIX_SSL_CERT_FILE"
|
||||
];
|
||||
|
||||
/**
|
||||
Converts an attrset containing one of `hash`, `sha256` or `sha512`,
|
||||
into one containing `outputHash{,Algo}` as accepted by `mkDerivation`.
|
||||
|
||||
An appropriate “fake hash” is substituted when the hash value is `""`,
|
||||
as is the [convention for fetchers](#sec-pkgs-fetchers-updating-source-hashes-fakehash-method).
|
||||
|
||||
All other attributes in the set remain as-is.
|
||||
|
||||
# Example
|
||||
|
||||
```nix
|
||||
normalizeHash { } { hash = ""; foo = "bar"; }
|
||||
=>
|
||||
{
|
||||
outputHash = lib.fakeHash;
|
||||
outputHashAlgo = null;
|
||||
foo = "bar";
|
||||
}
|
||||
```
|
||||
|
||||
```nix
|
||||
normalizeHash { } { sha256 = lib.fakeSha256; }
|
||||
=>
|
||||
{
|
||||
outputHash = lib.fakeSha256;
|
||||
outputHashAlgo = "sha256";
|
||||
}
|
||||
```
|
||||
|
||||
```nix
|
||||
normalizeHash { } { sha512 = lib.fakeSha512; }
|
||||
=>
|
||||
{
|
||||
outputHash = lib.fakeSha512;
|
||||
outputHashAlgo = "sha512";
|
||||
}
|
||||
```
|
||||
|
||||
# Type
|
||||
```
|
||||
normalizeHash :: { hashTypes :: List String, required :: Bool } -> AttrSet -> AttrSet
|
||||
```
|
||||
|
||||
# Arguments
|
||||
|
||||
hashTypes
|
||||
: the set of attribute names accepted as hash inputs, in addition to `hash`
|
||||
|
||||
required
|
||||
: whether to throw if no hash was present in the input; otherwise returns the original input, unmodified
|
||||
*/
|
||||
normalizeHash = {
|
||||
hashTypes ? [ "sha256" ],
|
||||
required ? true,
|
||||
}:
|
||||
let
|
||||
inherit (lib) concatMapStringsSep head tail throwIf;
|
||||
inherit (lib.attrsets) attrsToList intersectAttrs removeAttrs optionalAttrs;
|
||||
|
||||
inherit (commonH hashTypes) hashNames hashSet;
|
||||
in
|
||||
args:
|
||||
if args ? "outputHash" then
|
||||
args
|
||||
else
|
||||
let
|
||||
# The argument hash, as a {name, value} pair
|
||||
h =
|
||||
# All hashes passed in arguments (possibly 0 or >1) as a list of {name, value} pairs
|
||||
let hashesAsNVPairs = attrsToList (intersectAttrs hashSet args); in
|
||||
if hashesAsNVPairs == [] then
|
||||
throwIf required "fetcher called without `hash`" null
|
||||
else if tail hashesAsNVPairs != [] then
|
||||
throw "fetcher called with mutually-incompatible arguments: ${concatMapStringsSep ", " (a: a.name) hashesAsNVPairs}"
|
||||
else
|
||||
head hashesAsNVPairs
|
||||
;
|
||||
in
|
||||
removeAttrs args hashNames // (optionalAttrs (h != null) {
|
||||
outputHashAlgo = if h.name == "hash" then null else h.name;
|
||||
outputHash =
|
||||
if h.value == "" then
|
||||
fakeH.${h.name} or (throw "no “fake hash” defined for ${h.name}")
|
||||
else
|
||||
h.value;
|
||||
})
|
||||
;
|
||||
|
||||
/**
|
||||
Wraps a function which accepts `outputHash{,Algo}` into one which accepts `hash` or `sha{256,512}`
|
||||
|
||||
# Example
|
||||
```nix
|
||||
withNormalizedHash { hashTypes = [ "sha256" "sha512" ]; } (
|
||||
{ outputHash, outputHashAlgo, ... }:
|
||||
...
|
||||
)
|
||||
```
|
||||
is a function which accepts one of `hash`, `sha256`, or `sha512` (or the original's `outputHash` and `outputHashAlgo`).
|
||||
|
||||
Its `functionArgs` metadata only lists `hash` as a parameter, optional iff. `outputHash` was an optional parameter of
|
||||
the original function. `sha256`, `sha512`, `outputHash`, or `outputHashAlgo` are not mentioned in the `functionArgs`
|
||||
metadata.
|
||||
|
||||
# Type
|
||||
```
|
||||
withNormalizedHash :: { hashTypes :: List String } -> (AttrSet -> T) -> (AttrSet -> T)
|
||||
```
|
||||
|
||||
# Arguments
|
||||
|
||||
hashTypes
|
||||
: the set of attribute names accepted as hash inputs, in addition to `hash`
|
||||
: they must correspond to a valid value for `outputHashAlgo`, currently one of: `md5`, `sha1`, `sha256`, or `sha512`.
|
||||
|
||||
f
|
||||
: the function to be wrapped
|
||||
|
||||
::: {.note}
|
||||
In nixpkgs, `mkDerivation` rejects MD5 `outputHash`es, and SHA-1 is being deprecated.
|
||||
|
||||
As such, there is no reason to add `md5` to `hashTypes`, and
|
||||
`sha1` should only ever be included for backwards compatibility.
|
||||
:::
|
||||
|
||||
# Output
|
||||
|
||||
`withNormalizedHash { inherit hashTypes; } f` is functionally equivalent to
|
||||
```nix
|
||||
args: f (normalizeHash {
|
||||
inherit hashTypes;
|
||||
required = !(lib.functionArgs f).outputHash;
|
||||
} args)
|
||||
```
|
||||
|
||||
However, `withNormalizedHash` preserves `functionArgs` metadata insofar as possible,
|
||||
and is implemented somewhat more efficiently.
|
||||
*/
|
||||
withNormalizedHash = {
|
||||
hashTypes ? [ "sha256" ]
|
||||
}: fetcher:
|
||||
let
|
||||
inherit (lib.attrsets) genAttrs intersectAttrs removeAttrs;
|
||||
inherit (lib.trivial) const functionArgs setFunctionArgs;
|
||||
|
||||
inherit (commonH hashTypes) hashSet;
|
||||
fArgs = functionArgs fetcher;
|
||||
|
||||
normalize = normalizeHash {
|
||||
inherit hashTypes;
|
||||
required = !fArgs.outputHash;
|
||||
};
|
||||
in
|
||||
# The o.g. fetcher must *only* accept outputHash and outputHashAlgo
|
||||
assert fArgs ? outputHash && fArgs ? outputHashAlgo;
|
||||
assert intersectAttrs fArgs hashSet == {};
|
||||
|
||||
setFunctionArgs
|
||||
(args: fetcher (normalize args))
|
||||
(removeAttrs fArgs [ "outputHash" "outputHashAlgo" ] // { hash = fArgs.outputHash; });
|
||||
}
|
||||
|
165
lib/tests/fetchers.nix
Normal file
165
lib/tests/fetchers.nix
Normal file
@ -0,0 +1,165 @@
|
||||
let
|
||||
lib = import ./..;
|
||||
|
||||
inherit (lib)
|
||||
fakeHash
|
||||
fakeSha256
|
||||
fakeSha512
|
||||
flip
|
||||
functionArgs
|
||||
runTests
|
||||
;
|
||||
inherit (lib.fetchers) normalizeHash withNormalizedHash;
|
||||
|
||||
testingThrow = expr: {
|
||||
expr = with builtins; tryEval (seq expr "didn't throw");
|
||||
expected = {
|
||||
success = false;
|
||||
value = false;
|
||||
};
|
||||
};
|
||||
|
||||
# hashes of empty
|
||||
sri256 = "sha256-d6xi4mKdjkX2JFicDIv5niSzpyI0m/Hnm8GGAIU04kY=";
|
||||
sri512 = "sha512-AXFyVo7jiZ5we10fxZ5E9qfPjSfqkizY2apCzORKFVYZaNhCIVbooY+J4cYST00ztLf0EjivIBPPdtIYFUMfzQ==";
|
||||
|
||||
unionOfDisjoints = lib.foldl lib.attrsets.unionOfDisjoint { };
|
||||
|
||||
genTests = n: f: {
|
||||
"test${n}AlreadyNormalized" = {
|
||||
expr = f { } {
|
||||
outputHash = "";
|
||||
outputHashAlgo = "md42";
|
||||
};
|
||||
expected = {
|
||||
outputHash = "";
|
||||
outputHashAlgo = "md42";
|
||||
};
|
||||
};
|
||||
|
||||
"test${n}EmptySha256" = {
|
||||
expr = f { } { sha256 = ""; };
|
||||
expected = {
|
||||
outputHash = fakeSha256;
|
||||
outputHashAlgo = "sha256";
|
||||
};
|
||||
};
|
||||
|
||||
"test${n}EmptySha512" = {
|
||||
expr = f { hashTypes = [ "sha512" ]; } { sha512 = ""; };
|
||||
expected = {
|
||||
outputHash = fakeSha512;
|
||||
outputHashAlgo = "sha512";
|
||||
};
|
||||
};
|
||||
|
||||
"test${n}EmptyHash" = {
|
||||
expr = f { } { hash = ""; };
|
||||
expected = {
|
||||
outputHash = fakeHash;
|
||||
outputHashAlgo = null;
|
||||
};
|
||||
};
|
||||
|
||||
"test${n}Sri256" = {
|
||||
expr = f { } { hash = sri256; };
|
||||
expected = {
|
||||
outputHash = sri256;
|
||||
outputHashAlgo = null;
|
||||
};
|
||||
};
|
||||
|
||||
"test${n}Sri512" = {
|
||||
expr = f { } { hash = sri512; };
|
||||
expected = {
|
||||
outputHash = sri512;
|
||||
outputHashAlgo = null;
|
||||
};
|
||||
};
|
||||
|
||||
"test${n}PreservesAttrs" = {
|
||||
expr = f { } {
|
||||
hash = "aaaa";
|
||||
destination = "Earth";
|
||||
};
|
||||
expected = {
|
||||
outputHash = "aaaa";
|
||||
outputHashAlgo = null;
|
||||
destination = "Earth";
|
||||
};
|
||||
};
|
||||
|
||||
"test${n}RejectsSha1ByDefault" = testingThrow (f { } { sha1 = ""; });
|
||||
"test${n}RejectsSha512ByDefault" = testingThrow (f { } { sha512 = ""; });
|
||||
|
||||
"test${n}ThrowsOnMissing" = testingThrow (f { } { gibi = false; });
|
||||
};
|
||||
in
|
||||
runTests (unionOfDisjoints [
|
||||
(genTests "NormalizeHash" normalizeHash)
|
||||
(genTests "WithNormalized" (
|
||||
flip withNormalizedHash ({ outputHash, outputHashAlgo, ... }@args: args)
|
||||
))
|
||||
{
|
||||
testNormalizeNotRequiredEquivalent = {
|
||||
expr = normalizeHash { required = false; } {
|
||||
hash = "";
|
||||
prof = "shadoko";
|
||||
};
|
||||
expected = normalizeHash { } {
|
||||
hash = "";
|
||||
prof = "shadoko";
|
||||
};
|
||||
};
|
||||
|
||||
testNormalizeNotRequiredPassthru = {
|
||||
expr = normalizeHash { required = false; } { "ga bu" = "zo meu"; };
|
||||
expected."ga bu" = "zo meu";
|
||||
};
|
||||
|
||||
testOptionalArg = {
|
||||
expr = withNormalizedHash { } (
|
||||
{
|
||||
outputHash ? "",
|
||||
outputHashAlgo ? null,
|
||||
...
|
||||
}@args:
|
||||
args
|
||||
) { author = "Jacques Rouxel"; };
|
||||
expected.author = "Jacques Rouxel";
|
||||
};
|
||||
|
||||
testOptionalArgMetadata = {
|
||||
expr = functionArgs (
|
||||
withNormalizedHash { } (
|
||||
{
|
||||
outputHash ? "",
|
||||
outputHashAlgo ? null,
|
||||
}:
|
||||
{ }
|
||||
)
|
||||
);
|
||||
expected.hash = true;
|
||||
};
|
||||
|
||||
testPreservesArgsMetadata = {
|
||||
expr = functionArgs (
|
||||
withNormalizedHash { } (
|
||||
{
|
||||
outputHash,
|
||||
outputHashAlgo,
|
||||
pumping ? true,
|
||||
}:
|
||||
{ }
|
||||
)
|
||||
);
|
||||
expected = {
|
||||
hash = false;
|
||||
pumping = true;
|
||||
};
|
||||
};
|
||||
|
||||
testRejectsMissingHashArg = testingThrow (withNormalizedHash { } ({ outputHashAlgo }: { }));
|
||||
testRejectsMissingAlgoArg = testingThrow (withNormalizedHash { } ({ outputHash }: { }));
|
||||
}
|
||||
])
|
@ -17,6 +17,7 @@
|
||||
pkgs.runCommand "nixpkgs-lib-tests-nix-${nix.version}" {
|
||||
buildInputs = [
|
||||
(import ./check-eval.nix)
|
||||
(import ./fetchers.nix)
|
||||
(import ./maintainers.nix {
|
||||
inherit pkgs;
|
||||
lib = import ../.;
|
||||
|
@ -9,6 +9,7 @@
|
||||
infrastructure. Regular updates should be done through the individual packages
|
||||
update scripts.
|
||||
*/
|
||||
{ startWith ? null }:
|
||||
let
|
||||
pkgs = import ../.. { config.allowAliases = false; };
|
||||
|
||||
@ -17,28 +18,31 @@ let
|
||||
packagesWith = cond: pkgs:
|
||||
let
|
||||
packagesWithInner = attrs:
|
||||
lib.unique (
|
||||
lib.concatLists (
|
||||
lib.mapAttrsToList (name: elem:
|
||||
let
|
||||
result = builtins.tryEval elem;
|
||||
in
|
||||
if result.success then
|
||||
let
|
||||
value = result.value;
|
||||
in
|
||||
if lib.isDerivation value then
|
||||
lib.optional (cond value) value
|
||||
else
|
||||
if lib.isAttrs value && (value.recurseForDerivations or false || value.recurseForRelease or false) then
|
||||
packagesWithInner value
|
||||
else []
|
||||
else []) attrs));
|
||||
lib.concatLists (
|
||||
lib.mapAttrsToList (name: elem:
|
||||
let
|
||||
result = builtins.tryEval elem;
|
||||
in
|
||||
if result.success then
|
||||
let
|
||||
value = result.value;
|
||||
in
|
||||
if lib.isDerivation value then
|
||||
lib.optional (cond value) value
|
||||
else
|
||||
if lib.isAttrs value && (value.recurseForDerivations or false || value.recurseForRelease or false) then
|
||||
packagesWithInner value
|
||||
else []
|
||||
else []) attrs);
|
||||
in
|
||||
packagesWithInner pkgs;
|
||||
|
||||
packages =
|
||||
packagesWith (pkgs: pkgs ? fetch-deps) pkgs;
|
||||
packages = lib.unique
|
||||
(lib.filter (p:
|
||||
(builtins.tryEval p.outPath).success ||
|
||||
builtins.trace "warning: skipping ${p.name} because it failed to evaluate" false)
|
||||
((pkgs: (lib.drop (lib.lists.findFirstIndex (p: p.name == startWith) 0 pkgs) pkgs))
|
||||
(packagesWith (p: p ? fetch-deps) pkgs)));
|
||||
|
||||
helpText = ''
|
||||
Please run:
|
||||
|
@ -46,7 +46,7 @@ in
|
||||
type = with lib.types; nullOr lib.types.path;
|
||||
default = null;
|
||||
description = ''
|
||||
Additional dnvironment file as defined in {manpage}`systemd.exec(5)`.
|
||||
Additional environment file as defined in {manpage}`systemd.exec(5)`.
|
||||
|
||||
Secrets like {env}`LIVEBOOK_PASSWORD` (which is used to specify the
|
||||
password needed to access the livebook site) or {env}`LIVEBOOK_COOKIE`
|
||||
|
@ -235,7 +235,7 @@ in {
|
||||
};
|
||||
|
||||
channel = mkOption {
|
||||
default = 7;
|
||||
default = 0;
|
||||
example = 11;
|
||||
type = types.int;
|
||||
description = ''
|
||||
|
@ -99,6 +99,6 @@ import ./make-test-python.nix ({ pkgs, ... }:
|
||||
gw.wait_until_succeeds("vtysh -c 'show ip route' | grep '^O>'")
|
||||
|
||||
with subtest("Test ICMP"):
|
||||
client.wait_until_succeeds("ping -c 3 server >&2")
|
||||
client.wait_until_succeeds("ping -4 -c 3 server >&2")
|
||||
'';
|
||||
})
|
||||
|
@ -22,6 +22,10 @@ buildDotnetModule rec {
|
||||
dotnet-sdk = dotnetCorePackages.sdk_7_0;
|
||||
dotnet-runtime = dotnetCorePackages.runtime_7_0;
|
||||
|
||||
# [...]/Microsoft.NET.Sdk.targets(157,5): error MSB4018: The "GenerateDepsFile" task failed unexpectedly. [[...]/OpenUtau.Core.csproj]
|
||||
# [...]/Microsoft.NET.Sdk.targets(157,5): error MSB4018: System.IO.IOException: The process cannot access the file '[...]/OpenUtau.Core.deps.json' because it is being used by another process. [[...]/OpenUtau.Core.csproj]
|
||||
enableParallelBuilding = false;
|
||||
|
||||
projectFile = "OpenUtau.sln";
|
||||
nugetDeps = ./deps.nix;
|
||||
|
||||
|
@ -64,7 +64,7 @@ let
|
||||
;
|
||||
};
|
||||
fBuildAttrs = fArgs // buildAttrs;
|
||||
fFetchAttrs = fArgs // removeAttrs fetchAttrs [ "sha256" ];
|
||||
fFetchAttrs = fArgs // removeAttrs fetchAttrs [ "hash" "sha256" ];
|
||||
bazelCmd = { cmd, additionalFlags, targets, targetRunFlags ? [ ] }:
|
||||
lib.optionalString (targets != [ ]) ''
|
||||
# See footnote called [USER and BAZEL_USE_CPP_ONLY_TOOLCHAIN variables]
|
||||
@ -197,8 +197,10 @@ stdenv.mkDerivation (fBuildAttrs // {
|
||||
dontFixup = true;
|
||||
allowedRequisites = [];
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHash = fetchAttrs.sha256;
|
||||
inherit (lib.fetchers.normalizeHash { hashTypes = [ "sha256" ]; } fetchAttrs)
|
||||
outputHash
|
||||
outputHashAlgo
|
||||
;
|
||||
});
|
||||
|
||||
nativeBuildInputs = fBuildAttrs.nativeBuildInputs or [] ++ [ (bazel.override { enableNixHacks = true; }) ];
|
||||
|
108
pkgs/build-support/dotnet/add-nuget-deps/default.nix
Normal file
108
pkgs/build-support/dotnet/add-nuget-deps/default.nix
Normal file
@ -0,0 +1,108 @@
|
||||
{
|
||||
writeShellScript,
|
||||
runtimeShell,
|
||||
nix,
|
||||
lib,
|
||||
substituteAll,
|
||||
nuget-to-nix,
|
||||
cacert,
|
||||
fetchNupkg,
|
||||
callPackage,
|
||||
}:
|
||||
|
||||
{
|
||||
nugetDeps,
|
||||
overrideFetchAttrs ? x: { },
|
||||
}:
|
||||
fnOrAttrs: finalAttrs:
|
||||
let
|
||||
attrs = if builtins.isFunction fnOrAttrs then fnOrAttrs finalAttrs else fnOrAttrs;
|
||||
|
||||
deps =
|
||||
if (nugetDeps != null) then
|
||||
if lib.isDerivation nugetDeps then
|
||||
[ nugetDeps ]
|
||||
else if lib.isList nugetDeps then
|
||||
nugetDeps
|
||||
else
|
||||
assert (lib.isPath nugetDeps);
|
||||
callPackage nugetDeps { fetchNuGet = fetchNupkg; }
|
||||
else
|
||||
[ ];
|
||||
|
||||
finalPackage = finalAttrs.finalPackage;
|
||||
|
||||
in
|
||||
attrs
|
||||
// {
|
||||
buildInputs = attrs.buildInputs or [ ] ++ deps;
|
||||
|
||||
passthru =
|
||||
attrs.passthru or { }
|
||||
// {
|
||||
nugetDeps = deps;
|
||||
}
|
||||
// lib.optionalAttrs (nugetDeps == null || lib.isPath nugetDeps) rec {
|
||||
fetch-drv =
|
||||
let
|
||||
pkg' = finalPackage.overrideAttrs (old: {
|
||||
buildInputs = attrs.buildInputs or [ ];
|
||||
nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ cacert ];
|
||||
keepNugetConfig = true;
|
||||
dontBuild = true;
|
||||
doCheck = false;
|
||||
dontInstall = true;
|
||||
doInstallCheck = false;
|
||||
dontFixup = true;
|
||||
doDist = false;
|
||||
});
|
||||
in
|
||||
pkg'.overrideAttrs overrideFetchAttrs;
|
||||
fetch-deps =
|
||||
let
|
||||
drv = builtins.unsafeDiscardOutputDependency fetch-drv.drvPath;
|
||||
|
||||
innerScript = substituteAll {
|
||||
src = ./fetch-deps.sh;
|
||||
isExecutable = true;
|
||||
inherit cacert;
|
||||
nugetToNix = nuget-to-nix;
|
||||
};
|
||||
|
||||
defaultDepsFile =
|
||||
# Wire in the depsFile such that running the script with no args
|
||||
# runs it agains the correct deps file by default.
|
||||
# Note that toString is necessary here as it results in the path at
|
||||
# eval time (i.e. to the file in your local Nixpkgs checkout) rather
|
||||
# than the Nix store path of the path after it's been imported.
|
||||
if lib.isPath nugetDeps && !lib.isStorePath nugetDeps then
|
||||
toString nugetDeps
|
||||
else
|
||||
''$(mktemp -t "${finalAttrs.pname or finalPackage.name}-deps-XXXXXX.nix")'';
|
||||
|
||||
in
|
||||
writeShellScript "${finalPackage.name}-fetch-deps" ''
|
||||
set -eu
|
||||
|
||||
echo 'fetching dependencies for' ${lib.escapeShellArg finalPackage.name} >&2
|
||||
|
||||
# this needs to be before TMPDIR is changed, so the output isn't deleted
|
||||
# if it uses mktemp
|
||||
depsFile=$(realpath "''${1:-${lib.escapeShellArg defaultDepsFile}}")
|
||||
|
||||
export TMPDIR
|
||||
TMPDIR=$(mktemp -d -t fetch-deps-${lib.escapeShellArg finalPackage.name}.XXXXXX)
|
||||
trap 'chmod -R +w "$TMPDIR" && rm -fr "$TMPDIR"' EXIT
|
||||
|
||||
export NUGET_HTTP_CACHE_PATH=''${NUGET_HTTP_CACHE_PATH-~/.local/share/NuGet/v3-cache}
|
||||
|
||||
HOME=$TMPDIR/home
|
||||
mkdir "$HOME"
|
||||
|
||||
cd "$TMPDIR"
|
||||
|
||||
NIX_BUILD_SHELL=${lib.escapeShellArg runtimeShell} ${nix}/bin/nix-shell \
|
||||
--pure --keep NUGET_HTTP_CACHE_PATH --run 'source '${lib.escapeShellArg innerScript}' '"''${depsFile@Q}" "${drv}"
|
||||
'';
|
||||
};
|
||||
}
|
11
pkgs/build-support/dotnet/add-nuget-deps/fetch-deps.sh
Normal file
11
pkgs/build-support/dotnet/add-nuget-deps/fetch-deps.sh
Normal file
@ -0,0 +1,11 @@
|
||||
set -e
|
||||
|
||||
genericBuild
|
||||
|
||||
(
|
||||
echo -e "# This file was automatically generated by passthru.fetch-deps.\n# Please dont edit it manually, your changes might get overwritten!\n"
|
||||
@nugetToNix@/bin/nuget-to-nix "${NUGET_PACKAGES%/}"
|
||||
) > deps.nix
|
||||
|
||||
mv deps.nix "$1"
|
||||
echo "Succesfully wrote lockfile to $1"
|
@ -7,12 +7,8 @@
|
||||
writeShellScript,
|
||||
makeWrapper,
|
||||
dotnetCorePackages,
|
||||
fetchNupkg,
|
||||
nuget-to-nix,
|
||||
cacert,
|
||||
unzip,
|
||||
yq,
|
||||
nix,
|
||||
addNuGetDeps,
|
||||
}:
|
||||
let
|
||||
transformArgs =
|
||||
@ -109,39 +105,9 @@ let
|
||||
dotnetFixupHook
|
||||
;
|
||||
|
||||
_nugetDeps =
|
||||
if (nugetDeps != null) then
|
||||
if lib.isDerivation nugetDeps then
|
||||
[ nugetDeps ]
|
||||
else if lib.isList nugetDeps then
|
||||
nugetDeps
|
||||
else
|
||||
assert (lib.isPath nugetDeps);
|
||||
callPackage nugetDeps { fetchNuGet = fetchNupkg; }
|
||||
else
|
||||
[ ];
|
||||
|
||||
nugetDepsFile = if lib.isPath nugetDeps then nugetDeps else null;
|
||||
|
||||
inherit (dotnetCorePackages) systemToDotnetRid;
|
||||
in
|
||||
# Not all args need to be passed through to mkDerivation
|
||||
# TODO: We should probably filter out even more attrs
|
||||
removeAttrs args [
|
||||
"nugetDeps"
|
||||
"installPath"
|
||||
"executables"
|
||||
"projectFile"
|
||||
"projectReferences"
|
||||
"runtimeDeps"
|
||||
"runtimeId"
|
||||
"disabledTests"
|
||||
"testProjectFile"
|
||||
"buildType"
|
||||
"selfContainedBuild"
|
||||
"useDotnet"
|
||||
"useAppHost"
|
||||
]
|
||||
args
|
||||
// {
|
||||
dotnetInstallPath = installPath;
|
||||
dotnetExecutables = executables;
|
||||
@ -167,6 +133,8 @@ let
|
||||
dotnetFlags
|
||||
packNupkg
|
||||
useDotnetFromEnv
|
||||
nugetDeps
|
||||
runtimeId
|
||||
;
|
||||
|
||||
nativeBuildInputs = args.nativeBuildInputs or [ ] ++ [
|
||||
@ -179,11 +147,14 @@ let
|
||||
cacert
|
||||
makeWrapper
|
||||
dotnet-sdk
|
||||
unzip
|
||||
yq
|
||||
];
|
||||
|
||||
buildInputs = args.buildInputs or [ ] ++ [ dotnet-sdk.packages ] ++ _nugetDeps ++ projectReferences;
|
||||
buildInputs =
|
||||
args.buildInputs or [ ]
|
||||
++ [
|
||||
dotnet-sdk.packages
|
||||
]
|
||||
++ projectReferences;
|
||||
|
||||
# Parse the version attr into a format acceptable for the Version msbuild property
|
||||
# The actual version attr is saved in InformationalVersion, which accepts an arbitrary string
|
||||
@ -223,60 +194,45 @@ let
|
||||
# executables
|
||||
propagatedSandboxProfile = toString dotnet-runtime.__propagatedSandboxProfile;
|
||||
|
||||
passthru =
|
||||
{
|
||||
nugetDeps = _nugetDeps;
|
||||
}
|
||||
// lib.optionalAttrs (nugetDeps == null || lib.isPath nugetDeps) {
|
||||
fetch-deps =
|
||||
let
|
||||
pkg = finalAttrs.finalPackage.overrideAttrs (
|
||||
old:
|
||||
{
|
||||
buildInputs = lib.subtractLists _nugetDeps old.buildInputs;
|
||||
keepNugetConfig = true;
|
||||
}
|
||||
// lib.optionalAttrs (runtimeId == null) {
|
||||
dotnetRuntimeIds = map (system: systemToDotnetRid system) platforms;
|
||||
}
|
||||
);
|
||||
|
||||
drv = builtins.unsafeDiscardOutputDependency pkg.drvPath;
|
||||
|
||||
innerScript = substituteAll {
|
||||
src = ./fetch-deps.sh;
|
||||
isExecutable = true;
|
||||
defaultDepsFile =
|
||||
# Wire in the nugetDeps file such that running the script with no args
|
||||
# runs it agains the correct deps file by default.
|
||||
# Note that toString is necessary here as it results in the path at
|
||||
# eval time (i.e. to the file in your local Nixpkgs checkout) rather
|
||||
# than the Nix store path of the path after it's been imported.
|
||||
if lib.isPath nugetDeps && !lib.isStorePath nugetDepsFile then
|
||||
toString nugetDepsFile
|
||||
else
|
||||
''$(mktemp -t "${finalAttrs.pname or finalAttrs.finalPackage.name}-deps-XXXXXX.nix")'';
|
||||
nugetToNix = (nuget-to-nix.override { inherit dotnet-sdk; });
|
||||
};
|
||||
|
||||
in
|
||||
writeShellScript "${finalAttrs.finalPackage.name}-fetch-deps" ''
|
||||
NIX_BUILD_SHELL="${runtimeShell}" exec ${nix}/bin/nix-shell \
|
||||
--pure --run 'source "${innerScript}"' "${drv}"
|
||||
'';
|
||||
}
|
||||
// args.passthru or { };
|
||||
|
||||
meta = (args.meta or { }) // {
|
||||
inherit platforms;
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
fnOrAttrs:
|
||||
stdenvNoCC.mkDerivation (
|
||||
finalAttrs:
|
||||
let
|
||||
args = if lib.isFunction fnOrAttrs then fnOrAttrs (args // finalAttrs) else fnOrAttrs;
|
||||
args = if lib.isFunction fnOrAttrs then fnOrAttrs (args' // finalAttrs) else fnOrAttrs;
|
||||
args' = transformArgs finalAttrs args;
|
||||
inherit (args') nugetDeps runtimeId meta;
|
||||
args'' = removeAttrs args' [
|
||||
"nugetDeps"
|
||||
"runtimeId"
|
||||
"installPath"
|
||||
"executables"
|
||||
"projectFile"
|
||||
"projectReferences"
|
||||
"runtimeDeps"
|
||||
"runtimeId"
|
||||
"disabledTests"
|
||||
"testProjectFile"
|
||||
"buildType"
|
||||
"selfContainedBuild"
|
||||
"useDotnet"
|
||||
"useAppHost"
|
||||
];
|
||||
in
|
||||
transformArgs finalAttrs args
|
||||
if nugetDeps != null then
|
||||
addNuGetDeps {
|
||||
inherit nugetDeps;
|
||||
overrideFetchAttrs =
|
||||
a:
|
||||
lib.optionalAttrs ((args'.runtimeId or null) == null) {
|
||||
dotnetRuntimeIds = map (system: dotnetCorePackages.systemToDotnetRid system) meta.platforms;
|
||||
};
|
||||
} args'' finalAttrs
|
||||
else
|
||||
args''
|
||||
)
|
||||
|
@ -1,24 +0,0 @@
|
||||
set -e
|
||||
|
||||
tmp=$(mktemp -d)
|
||||
trap 'chmod -R +w "$tmp" && rm -fr "$tmp"' EXIT
|
||||
|
||||
HOME=$tmp/.home
|
||||
export TMPDIR="$tmp/.tmp"
|
||||
mkdir "$HOME" "$TMPDIR"
|
||||
cd "$tmp"
|
||||
|
||||
phases="
|
||||
${prePhases[*]:-}
|
||||
unpackPhase
|
||||
patchPhase
|
||||
${preConfigurePhases[*]:-}
|
||||
configurePhase
|
||||
" genericBuild
|
||||
|
||||
depsFile=$(realpath "${1:-@defaultDepsFile@}")
|
||||
tmpFile="$tmp"/deps.nix
|
||||
echo -e "# This file was automatically generated by passthru.fetch-deps.\n# Please dont edit it manually, your changes might get overwritten!\n" > "$tmpFile"
|
||||
@nugetToNix@/bin/nuget-to-nix "$NUGET_PACKAGES" >> "$tmpFile"
|
||||
mv "$tmpFile" "$depsFile"
|
||||
echo "Succesfully wrote lockfile to $depsFile"
|
@ -38,18 +38,6 @@ dotnetConfigureHook() {
|
||||
done
|
||||
}
|
||||
|
||||
find -iname nuget.config -print0 | while IFS= read -rd "" config; do
|
||||
if [[ -n "${keepNugetConfig-}" ]]; then
|
||||
# If we're keeping the existing configs, we'll add _nix everywhere,
|
||||
# in case sources are cleared.
|
||||
dotnet nuget add source "$nugetSource" -n _nix --configfile "$config"
|
||||
else
|
||||
# This will allow everything to fall through to our config in the
|
||||
# build root. Deleting them causes some build failures.
|
||||
xq -xi '.configuration={}' "$config"
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ -f .config/dotnet-tools.json || -f dotnet-tools.json ]]; then
|
||||
dotnet tool restore
|
||||
fi
|
||||
|
@ -62,8 +62,6 @@ dotnetFromEnv'
|
||||
}
|
||||
|
||||
dotnetFixupHook() {
|
||||
echo "Executing dotnetFixupPhase"
|
||||
|
||||
local -r dotnetInstallPath="${dotnetInstallPath-$out/lib/$pname}"
|
||||
|
||||
local executable executableBasename
|
||||
@ -94,10 +92,8 @@ dotnetFixupHook() {
|
||||
wrapDotnetProgram "$executable" "$out/bin/$executableBasename" \;
|
||||
done < <(find "$dotnetInstallPath" ! -name "*.dll" -executable -type f -print0)
|
||||
fi
|
||||
|
||||
echo "Finished dotnetFixupPhase"
|
||||
}
|
||||
|
||||
if [[ -z "${dontDotnetFixup-}" ]]; then
|
||||
if [[ -z "${dontFixup-}" && -z "${dontDotnetFixup-}" ]]; then
|
||||
preFixupPhases+=" dotnetFixupHook"
|
||||
fi
|
||||
|
@ -62,8 +62,6 @@ dotnetInstallHook() {
|
||||
done
|
||||
}
|
||||
|
||||
local -r pkgs=$PWD/.nuget-pack
|
||||
|
||||
dotnetPack() {
|
||||
local -r projectFile="${1-}"
|
||||
|
||||
@ -73,7 +71,7 @@ dotnetInstallHook() {
|
||||
-p:ContinuousIntegrationBuild=true \
|
||||
-p:Deterministic=true \
|
||||
-p:OverwriteReadOnlyFiles=true \
|
||||
--output "$pkgs" \
|
||||
--output "$out/share/nuget/source" \
|
||||
--configuration "$dotnetBuildType" \
|
||||
--no-build \
|
||||
--runtime "$runtimeId" \
|
||||
@ -102,20 +100,6 @@ dotnetInstallHook() {
|
||||
fi
|
||||
fi
|
||||
|
||||
local -r unpacked="$pkgs/.unpacked"
|
||||
for nupkg in "$pkgs"/*.nupkg; do
|
||||
rm -rf "$unpacked"
|
||||
unzip -qd "$unpacked" "$nupkg"
|
||||
chmod -R +rw "$unpacked"
|
||||
echo {} > "$unpacked"/.nupkg.metadata
|
||||
local id version
|
||||
id=$(xq -r '.package.metadata.id|ascii_downcase' "$unpacked"/*.nuspec)
|
||||
version=$(xq -r '.package.metadata.version|ascii_downcase' "$unpacked"/*.nuspec)
|
||||
mkdir -p "$out/share/nuget/packages/$id"
|
||||
mv "$unpacked" "$out/share/nuget/packages/$id/$version"
|
||||
# TODO: should we fix executable flags here?
|
||||
done
|
||||
|
||||
runHook postInstall
|
||||
|
||||
echo "Finished dotnetInstallHook"
|
||||
|
@ -43,8 +43,7 @@ let
|
||||
unpackPhase = ''
|
||||
runHook preUnpack
|
||||
|
||||
unzip -nqd source $src
|
||||
chmod -R +rw source
|
||||
unpackNupkg "$src" source
|
||||
cd source
|
||||
|
||||
runHook postUnpack
|
||||
@ -75,6 +74,13 @@ let
|
||||
'';
|
||||
|
||||
createInstallableNugetSource = installable;
|
||||
|
||||
meta = {
|
||||
sourceProvenance = with lib.sourceTypes; [
|
||||
binaryBytecode
|
||||
binaryNativeCode
|
||||
];
|
||||
};
|
||||
};
|
||||
in
|
||||
overrides.${pname} or lib.id package
|
||||
|
@ -5,27 +5,26 @@
|
||||
, nix
|
||||
, coreutils
|
||||
, jq
|
||||
, yq
|
||||
, xmlstarlet
|
||||
, curl
|
||||
, gnugrep
|
||||
, gawk
|
||||
, dotnet-sdk
|
||||
, cacert
|
||||
}:
|
||||
|
||||
runCommandLocal "nuget-to-nix" {
|
||||
script = substituteAll {
|
||||
src = ./nuget-to-nix.sh;
|
||||
inherit runtimeShell;
|
||||
inherit runtimeShell cacert;
|
||||
|
||||
binPath = lib.makeBinPath [
|
||||
nix
|
||||
coreutils
|
||||
jq
|
||||
yq
|
||||
xmlstarlet
|
||||
curl
|
||||
gnugrep
|
||||
gawk
|
||||
dotnet-sdk
|
||||
];
|
||||
};
|
||||
|
||||
|
@ -3,7 +3,8 @@
|
||||
set -euo pipefail
|
||||
shopt -s nullglob
|
||||
|
||||
export PATH="@binPath@"
|
||||
export SSL_CERT_FILE=@cacert@/etc/ssl/certs/ca-bundle.crt
|
||||
export PATH="@binPath@:$PATH"
|
||||
# used for glob ordering of package names
|
||||
export LC_ALL=C
|
||||
|
||||
@ -50,7 +51,7 @@ for package in *; do
|
||||
[[ -d "$package" ]] || continue
|
||||
cd "$package"
|
||||
for version in *; do
|
||||
id=$(xq -r .package.metadata.id "$version"/*.nuspec)
|
||||
id=$(xmlstarlet sel -t -v /_:package/_:metadata/_:id "$version"/*.nuspec)
|
||||
|
||||
if grep -qxF "$id.$version.nupkg" "$excluded_list"; then
|
||||
continue
|
||||
|
@ -10,8 +10,9 @@
|
||||
appendShort = lib.optionalString ((builtins.match "[a-f0-9]*" rev) != null) "-${short}";
|
||||
in "${if matched == null then base else builtins.head matched}${appendShort}";
|
||||
in
|
||||
lib.makeOverridable (
|
||||
{ url, rev ? "HEAD", sha256 ? "", hash ? "", leaveDotGit ? deepClone
|
||||
lib.makeOverridable (lib.fetchers.withNormalizedHash { } (
|
||||
{ url, rev ? "HEAD", leaveDotGit ? deepClone
|
||||
, outputHash ? lib.fakeHash, outputHashAlgo ? null
|
||||
, fetchSubmodules ? true, deepClone ? false
|
||||
, branchName ? null
|
||||
, sparseCheckout ? []
|
||||
@ -56,9 +57,7 @@ lib.makeOverridable (
|
||||
assert deepClone -> leaveDotGit;
|
||||
assert nonConeMode -> (sparseCheckout != []);
|
||||
|
||||
if hash != "" && sha256 != "" then
|
||||
throw "Only one of sha256 or hash can be set"
|
||||
else if builtins.isString sparseCheckout then
|
||||
if builtins.isString sparseCheckout then
|
||||
# Changed to throw on 2023-06-04
|
||||
throw "Please provide directories/patterns for sparse checkout as a list of strings. Passing a (multi-line) string is not supported any more."
|
||||
else
|
||||
@ -70,14 +69,8 @@ stdenvNoCC.mkDerivation {
|
||||
nativeBuildInputs = [ git cacert ]
|
||||
++ lib.optionals fetchLFS [ git-lfs ];
|
||||
|
||||
outputHashAlgo = if hash != "" then null else "sha256";
|
||||
inherit outputHash outputHashAlgo;
|
||||
outputHashMode = "recursive";
|
||||
outputHash = if hash != "" then
|
||||
hash
|
||||
else if sha256 != "" then
|
||||
sha256
|
||||
else
|
||||
lib.fakeSha256;
|
||||
|
||||
# git-sparse-checkout(1) says:
|
||||
# > When the --stdin option is provided, the directories or patterns are read
|
||||
@ -105,4 +98,4 @@ stdenvNoCC.mkDerivation {
|
||||
gitRepoUrl = url;
|
||||
};
|
||||
}
|
||||
)
|
||||
))
|
||||
|
@ -1,83 +1,83 @@
|
||||
{ lib, stdenvNoCC, gitRepo, cacert, copyPathsToStore }:
|
||||
lib.fetchers.withNormalizedHash { } (
|
||||
{ name, manifest, rev ? "HEAD", outputHash, outputHashAlgo
|
||||
# Optional parameters:
|
||||
, repoRepoURL ? "", repoRepoRev ? "", referenceDir ? "", manifestName ? ""
|
||||
, localManifests ? [], createMirror ? false, useArchive ? false
|
||||
}:
|
||||
|
||||
{ name, manifest, rev ? "HEAD", sha256
|
||||
# Optional parameters:
|
||||
, repoRepoURL ? "", repoRepoRev ? "", referenceDir ? "", manifestName ? ""
|
||||
, localManifests ? [], createMirror ? false, useArchive ? false
|
||||
}:
|
||||
assert repoRepoRev != "" -> repoRepoURL != "";
|
||||
assert createMirror -> !useArchive;
|
||||
|
||||
assert repoRepoRev != "" -> repoRepoURL != "";
|
||||
assert createMirror -> !useArchive;
|
||||
let
|
||||
inherit (lib)
|
||||
concatMapStringsSep
|
||||
concatStringsSep
|
||||
fetchers
|
||||
optionalString
|
||||
;
|
||||
|
||||
let
|
||||
inherit (lib)
|
||||
concatMapStringsSep
|
||||
concatStringsSep
|
||||
fetchers
|
||||
optionalString
|
||||
;
|
||||
extraRepoInitFlags = [
|
||||
(optionalString (repoRepoURL != "") "--repo-url=${repoRepoURL}")
|
||||
(optionalString (repoRepoRev != "") "--repo-branch=${repoRepoRev}")
|
||||
(optionalString (referenceDir != "") "--reference=${referenceDir}")
|
||||
(optionalString (manifestName != "") "--manifest-name=${manifestName}")
|
||||
];
|
||||
|
||||
extraRepoInitFlags = [
|
||||
(optionalString (repoRepoURL != "") "--repo-url=${repoRepoURL}")
|
||||
(optionalString (repoRepoRev != "") "--repo-branch=${repoRepoRev}")
|
||||
(optionalString (referenceDir != "") "--reference=${referenceDir}")
|
||||
(optionalString (manifestName != "") "--manifest-name=${manifestName}")
|
||||
];
|
||||
repoInitFlags = [
|
||||
"--manifest-url=${manifest}"
|
||||
"--manifest-branch=${rev}"
|
||||
"--depth=1"
|
||||
(optionalString createMirror "--mirror")
|
||||
(optionalString useArchive "--archive")
|
||||
] ++ extraRepoInitFlags;
|
||||
|
||||
repoInitFlags = [
|
||||
"--manifest-url=${manifest}"
|
||||
"--manifest-branch=${rev}"
|
||||
"--depth=1"
|
||||
(optionalString createMirror "--mirror")
|
||||
(optionalString useArchive "--archive")
|
||||
] ++ extraRepoInitFlags;
|
||||
local_manifests = copyPathsToStore localManifests;
|
||||
|
||||
local_manifests = copyPathsToStore localManifests;
|
||||
in stdenvNoCC.mkDerivation {
|
||||
inherit name;
|
||||
|
||||
in stdenvNoCC.mkDerivation {
|
||||
inherit name;
|
||||
inherit cacert manifest rev repoRepoURL repoRepoRev referenceDir; # TODO
|
||||
|
||||
inherit cacert manifest rev repoRepoURL repoRepoRev referenceDir; # TODO
|
||||
inherit outputHash outputHashAlgo;
|
||||
outputHashMode = "recursive";
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = sha256;
|
||||
preferLocalBuild = true;
|
||||
enableParallelBuilding = true;
|
||||
|
||||
preferLocalBuild = true;
|
||||
enableParallelBuilding = true;
|
||||
impureEnvVars = fetchers.proxyImpureEnvVars ++ [
|
||||
"GIT_PROXY_COMMAND" "SOCKS_SERVER"
|
||||
];
|
||||
|
||||
impureEnvVars = fetchers.proxyImpureEnvVars ++ [
|
||||
"GIT_PROXY_COMMAND" "SOCKS_SERVER"
|
||||
];
|
||||
nativeBuildInputs = [ gitRepo cacert ];
|
||||
|
||||
nativeBuildInputs = [ gitRepo cacert ];
|
||||
GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||
|
||||
GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||
buildCommand = ''
|
||||
# Path must be absolute (e.g. for GnuPG: ~/.repoconfig/gnupg/pubring.kbx)
|
||||
export HOME="$(pwd)"
|
||||
|
||||
buildCommand = ''
|
||||
# Path must be absolute (e.g. for GnuPG: ~/.repoconfig/gnupg/pubring.kbx)
|
||||
export HOME="$(pwd)"
|
||||
mkdir $out
|
||||
cd $out
|
||||
|
||||
mkdir $out
|
||||
cd $out
|
||||
mkdir .repo
|
||||
${optionalString (local_manifests != []) ''
|
||||
mkdir .repo/local_manifests
|
||||
for local_manifest in ${concatMapStringsSep " " toString local_manifests}; do
|
||||
cp $local_manifest .repo/local_manifests/$(stripHash $local_manifest)
|
||||
done
|
||||
''}
|
||||
|
||||
mkdir .repo
|
||||
${optionalString (local_manifests != []) ''
|
||||
mkdir .repo/local_manifests
|
||||
for local_manifest in ${concatMapStringsSep " " toString local_manifests}; do
|
||||
cp $local_manifest .repo/local_manifests/$(stripHash $local_manifest)
|
||||
done
|
||||
''}
|
||||
repo init ${concatStringsSep " " repoInitFlags}
|
||||
repo sync --jobs=$NIX_BUILD_CORES --current-branch
|
||||
|
||||
repo init ${concatStringsSep " " repoInitFlags}
|
||||
repo sync --jobs=$NIX_BUILD_CORES --current-branch
|
||||
|
||||
# TODO: The git-index files (and probably the files in .repo as well) have
|
||||
# different contents each time and will therefore change the final hash
|
||||
# (i.e. creating a mirror probably won't work).
|
||||
${optionalString (!createMirror) ''
|
||||
rm -rf .repo
|
||||
find -type d -name '.git' -prune -exec rm -rf {} +
|
||||
''}
|
||||
'';
|
||||
}
|
||||
# TODO: The git-index files (and probably the files in .repo as well) have
|
||||
# different contents each time and will therefore change the final hash
|
||||
# (i.e. creating a mirror probably won't work).
|
||||
${optionalString (!createMirror) ''
|
||||
rm -rf .repo
|
||||
find -type d -name '.git' -prune -exec rm -rf {} +
|
||||
''}
|
||||
'';
|
||||
}
|
||||
)
|
||||
|
@ -20,17 +20,17 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "aaaaxy";
|
||||
version = "1.5.190";
|
||||
version = "1.5.202";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "divVerent";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-yMap8Po3NeFwaqTn0gCHp8f30iiNg1AmG/ALQcW8eYA=";
|
||||
hash = "sha256-UR6rcdNXrDotakDhUW7EFYKpGEqGVmAPUUwrEG9Fiqs=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Z52g/ZSIYjHt8bjeAnQidkFyprJOO/IkNcrSFcKcv30=";
|
||||
vendorHash = "sha256-rNCzCSVENwoVTWOEcXBCWgVAwiBZtGsbyz3QBT+WUGw=";
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
|
@ -33,7 +33,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
name = "amdvlk-src";
|
||||
manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git";
|
||||
rev = "refs/tags/v-${finalAttrs.version}";
|
||||
sha256 = "1Svdr93ShjhaWJUTLn5y1kBM4hHey1dUVDiHqFIKgrU=";
|
||||
hash = "sha256-1Svdr93ShjhaWJUTLn5y1kBM4hHey1dUVDiHqFIKgrU=";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
|
@ -0,0 +1,137 @@
|
||||
From f4c599a48d153d15ccb1879ff511617c8e310515 Mon Sep 17 00:00:00 2001
|
||||
From: David McFarland <corngood@gmail.com>
|
||||
Date: Sat, 10 Aug 2024 23:14:12 -0300
|
||||
Subject: [PATCH 1/2] use files for unicode character database
|
||||
|
||||
---
|
||||
.../BiDiClassTestDataGenerator.cs | 1 -
|
||||
.../TextFormatting/BiDiTestDataGenerator.cs | 1 -
|
||||
.../GraphemeBreakClassTrieGenerator.cs | 1 -
|
||||
.../GraphemeBreakTestDataGenerator.cs | 1 -
|
||||
.../LineBreakEnumuratorTests.cs | 1 -
|
||||
.../TextFormatting/UnicodeDataGenerator.cs | 28 +++++++++++++++++--
|
||||
.../TextFormatting/UnicodeEnumsGenerator.cs | 1 -
|
||||
7 files changed, 26 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiClassTestDataGenerator.cs b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiClassTestDataGenerator.cs
|
||||
index f6b01d737..bc7278ef8 100644
|
||||
--- a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiClassTestDataGenerator.cs
|
||||
+++ b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiClassTestDataGenerator.cs
|
||||
@@ -3,7 +3,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
-using System.Net.Http;
|
||||
using Avalonia.Base.UnitTests.Media.TextFormatting;
|
||||
|
||||
namespace Avalonia.Visuals.UnitTests.Media.TextFormatting
|
||||
diff --git a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiTestDataGenerator.cs b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiTestDataGenerator.cs
|
||||
index 28d37130a..5e26edf49 100644
|
||||
--- a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiTestDataGenerator.cs
|
||||
+++ b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/BiDiTestDataGenerator.cs
|
||||
@@ -3,7 +3,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
-using System.Net.Http;
|
||||
using Avalonia.Base.UnitTests.Media.TextFormatting;
|
||||
using Avalonia.Media.TextFormatting.Unicode;
|
||||
|
||||
diff --git a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/GraphemeBreakClassTrieGenerator.cs b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/GraphemeBreakClassTrieGenerator.cs
|
||||
index 1a8d41caa..185b6ea62 100644
|
||||
--- a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/GraphemeBreakClassTrieGenerator.cs
|
||||
+++ b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/GraphemeBreakClassTrieGenerator.cs
|
||||
@@ -1,7 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
-using System.Net.Http;
|
||||
using System.Text.RegularExpressions;
|
||||
using Avalonia.Media.TextFormatting.Unicode;
|
||||
|
||||
diff --git a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/GraphemeBreakTestDataGenerator.cs b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/GraphemeBreakTestDataGenerator.cs
|
||||
index 029f8e236..44c2aaf6a 100644
|
||||
--- a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/GraphemeBreakTestDataGenerator.cs
|
||||
+++ b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/GraphemeBreakTestDataGenerator.cs
|
||||
@@ -3,7 +3,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
-using System.Net.Http;
|
||||
using Avalonia.Base.UnitTests.Media.TextFormatting;
|
||||
|
||||
namespace Avalonia.Visuals.UnitTests.Media.TextFormatting
|
||||
diff --git a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/LineBreakEnumuratorTests.cs b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/LineBreakEnumuratorTests.cs
|
||||
index 3db9a32b6..b8df1f446 100644
|
||||
--- a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/LineBreakEnumuratorTests.cs
|
||||
+++ b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/LineBreakEnumuratorTests.cs
|
||||
@@ -3,7 +3,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
-using System.Net.Http;
|
||||
using Avalonia.Media.TextFormatting;
|
||||
using Avalonia.Media.TextFormatting.Unicode;
|
||||
using Xunit;
|
||||
diff --git a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeDataGenerator.cs b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeDataGenerator.cs
|
||||
index f05a1e574..7e698ae0a 100644
|
||||
--- a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeDataGenerator.cs
|
||||
+++ b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeDataGenerator.cs
|
||||
@@ -1,16 +1,40 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
-using System.Net.Http;
|
||||
using System.Text.RegularExpressions;
|
||||
+using System.Threading.Tasks;
|
||||
using Avalonia.Media.TextFormatting.Unicode;
|
||||
using Xunit;
|
||||
|
||||
namespace Avalonia.Base.UnitTests.Media.TextFormatting
|
||||
{
|
||||
+ class HttpContent : IDisposable {
|
||||
+ readonly string url;
|
||||
+ public HttpContent(string url) => this.url = url;
|
||||
+
|
||||
+ public void Dispose() {}
|
||||
+ public Task<Stream> ReadAsStreamAsync() =>
|
||||
+ Task.FromResult<Stream>(File.OpenRead(url));
|
||||
+ }
|
||||
+
|
||||
+ class HttpResponseMessage : IDisposable {
|
||||
+ HttpContent content;
|
||||
+ public HttpResponseMessage(string url) => Content = new(url);
|
||||
+
|
||||
+ public void Dispose() {}
|
||||
+ public bool IsSuccessStatusCode => true;
|
||||
+ public HttpContent Content { get; init; }
|
||||
+ }
|
||||
+
|
||||
+ class HttpClient : IDisposable {
|
||||
+ public void Dispose() {}
|
||||
+ public Task<HttpResponseMessage> GetAsync(string url) =>
|
||||
+ Task.FromResult<HttpResponseMessage>(new (url));
|
||||
+ }
|
||||
+
|
||||
internal static class UnicodeDataGenerator
|
||||
{
|
||||
- public const string Ucd = "https://www.unicode.org/Public/15.0.0/ucd/";
|
||||
+ public static readonly string Ucd = Environment.GetEnvironmentVariable("UNICODE_CHARACTER_DATABASE");
|
||||
|
||||
public static UnicodeTrie GenerateBiDiTrie(out BiDiDataEntries biDiDataEntries, out Dictionary<int, BiDiDataItem> biDiData)
|
||||
{
|
||||
diff --git a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeEnumsGenerator.cs b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeEnumsGenerator.cs
|
||||
index 110e57cbd..7073ea508 100644
|
||||
--- a/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeEnumsGenerator.cs
|
||||
+++ b/tests/Avalonia.Base.UnitTests/Media/TextFormatting/UnicodeEnumsGenerator.cs
|
||||
@@ -2,7 +2,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
-using System.Net.Http;
|
||||
|
||||
namespace Avalonia.Base.UnitTests.Media.TextFormatting
|
||||
{
|
||||
--
|
||||
2.42.2
|
||||
|
38
pkgs/by-name/av/avalonia/0002-disable-parallel-compile.patch
Normal file
38
pkgs/by-name/av/avalonia/0002-disable-parallel-compile.patch
Normal file
@ -0,0 +1,38 @@
|
||||
From 9ba51df4258d0dc2fe72d4f621d29073eeadc011 Mon Sep 17 00:00:00 2001
|
||||
From: David McFarland <corngood@gmail.com>
|
||||
Date: Sun, 11 Aug 2024 00:03:36 -0300
|
||||
Subject: [PATCH 2/2] disable parallel compile
|
||||
|
||||
---
|
||||
nukebuild/Build.cs | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/nukebuild/Build.cs b/nukebuild/Build.cs
|
||||
index e3d5139bf..ce50db574 100644
|
||||
--- a/nukebuild/Build.cs
|
||||
+++ b/nukebuild/Build.cs
|
||||
@@ -136,12 +136,20 @@ DotNetConfigHelper ApplySettingCore(DotNetConfigHelper c)
|
||||
ProcessTasks.StartProcess("xcodebuild", args).AssertZeroExitCode();
|
||||
});
|
||||
|
||||
+ [Serializable]
|
||||
+ public class SerialBuildSettings : DotNetBuildSettings
|
||||
+ {
|
||||
+ protected override Arguments ConfigureProcessArguments(Arguments arguments) =>
|
||||
+ base.ConfigureProcessArguments(arguments)
|
||||
+ .Add("-m:1");
|
||||
+ }
|
||||
+
|
||||
Target Compile => _ => _
|
||||
.DependsOn(Clean, CompileNative)
|
||||
.DependsOn(CompileHtmlPreviewer)
|
||||
.Executes(() =>
|
||||
{
|
||||
- DotNetBuild(c => ApplySetting(c)
|
||||
+ DotNetBuild(ApplySetting(new SerialBuildSettings())
|
||||
.SetProjectFile(Parameters.MSBuildSolution)
|
||||
);
|
||||
});
|
||||
--
|
||||
2.42.2
|
||||
|
2957
pkgs/by-name/av/avalonia/deps.nix
generated
Normal file
2957
pkgs/by-name/av/avalonia/deps.nix
generated
Normal file
File diff suppressed because it is too large
Load Diff
14
pkgs/by-name/av/avalonia/npm-deps.nix
Normal file
14
pkgs/by-name/av/avalonia/npm-deps.nix
Normal file
@ -0,0 +1,14 @@
|
||||
[
|
||||
{
|
||||
path = "src/Avalonia.DesignerSupport/Remote/HtmlTransport/webapp";
|
||||
hash = "sha256-gncHW5SMtAUMtvHGZ2nUc0KEjxX24DZkAnmeHgo1Roc=";
|
||||
}
|
||||
{
|
||||
path = "tests/Avalonia.DesignerSupport.Tests/Remote/HtmlTransport/webapp";
|
||||
hash = "sha256-MiznlOJ+hIO1cUswy9oGNHP6MWfx+FDLKVT8qcmg8vo=";
|
||||
}
|
||||
{
|
||||
path = "src/Browser/Avalonia.Browser/webapp";
|
||||
hash = "sha256-LTQzT4ycLyGQs9T0sa2k/0wfG1GWCdeH9Wx2KeecOyU=";
|
||||
}
|
||||
]
|
996
pkgs/by-name/av/avalonia/nuget-packages.json
Normal file
996
pkgs/by-name/av/avalonia/nuget-packages.json
Normal file
@ -0,0 +1,996 @@
|
||||
[
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": ".NETFramework,Version=v4.6.1",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia.Remote.Protocol",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Microsoft.Bcl.AsyncInterfaces",
|
||||
"version": "6.0.0"
|
||||
},
|
||||
{
|
||||
"id": "System.ComponentModel.Annotations",
|
||||
"version": "4.5.0"
|
||||
},
|
||||
{
|
||||
"id": "System.Memory",
|
||||
"version": "4.5.3"
|
||||
},
|
||||
{
|
||||
"id": "System.Runtime.CompilerServices.Unsafe",
|
||||
"version": "4.6.0"
|
||||
},
|
||||
{
|
||||
"id": "System.Threading.Tasks.Extensions",
|
||||
"version": "4.5.4"
|
||||
},
|
||||
{
|
||||
"id": "System.ValueTuple",
|
||||
"version": "4.5.0"
|
||||
},
|
||||
{
|
||||
"id": "MicroCom.Runtime",
|
||||
"version": "0.11.0"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETCoreApp,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia.Remote.Protocol",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Microsoft.Bcl.AsyncInterfaces",
|
||||
"version": "6.0.0"
|
||||
},
|
||||
{
|
||||
"id": "System.ComponentModel.Annotations",
|
||||
"version": "4.5.0"
|
||||
},
|
||||
{
|
||||
"id": "System.Memory",
|
||||
"version": "4.5.3"
|
||||
},
|
||||
{
|
||||
"id": "System.Runtime.CompilerServices.Unsafe",
|
||||
"version": "4.6.0"
|
||||
},
|
||||
{
|
||||
"id": "System.Threading.Tasks.Extensions",
|
||||
"version": "4.5.4"
|
||||
},
|
||||
{
|
||||
"id": "System.ValueTuple",
|
||||
"version": "4.5.0"
|
||||
},
|
||||
{
|
||||
"id": "MicroCom.Runtime",
|
||||
"version": "0.11.0"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia.Remote.Protocol",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "System.ComponentModel.Annotations",
|
||||
"version": "4.5.0"
|
||||
},
|
||||
{
|
||||
"id": "MicroCom.Runtime",
|
||||
"version": "0.11.0"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia.Remote.Protocol",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Microsoft.Bcl.AsyncInterfaces",
|
||||
"version": "6.0.0"
|
||||
},
|
||||
{
|
||||
"id": "System.ComponentModel.Annotations",
|
||||
"version": "4.5.0"
|
||||
},
|
||||
{
|
||||
"id": "System.Memory",
|
||||
"version": "4.5.3"
|
||||
},
|
||||
{
|
||||
"id": "System.Runtime.CompilerServices.Unsafe",
|
||||
"version": "4.6.0"
|
||||
},
|
||||
{
|
||||
"id": "System.Threading.Tasks.Extensions",
|
||||
"version": "4.5.4"
|
||||
},
|
||||
{
|
||||
"id": "System.ValueTuple",
|
||||
"version": "4.5.0"
|
||||
},
|
||||
{
|
||||
"id": "MicroCom.Runtime",
|
||||
"version": "0.11.0"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Browser",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net7.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "HarfBuzzSharp",
|
||||
"version": "7.3.0"
|
||||
},
|
||||
{
|
||||
"id": "SkiaSharp",
|
||||
"version": "2.88.7"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Skia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Browser.Blazor",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net7.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Microsoft.AspNetCore.Components.Web",
|
||||
"version": "7.0.2"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Browser",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Controls.ColorPicker",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia.Remote.Protocol",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia.Remote.Protocol",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Controls.DataGrid",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia.Remote.Protocol",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia.Remote.Protocol",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Controls.ItemsRepeater",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Desktop",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Native",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.X11",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Skia",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Win32",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Native",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.X11",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Skia",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Win32",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Diagnostics",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Microsoft.CodeAnalysis.CSharp.Scripting",
|
||||
"version": "3.8.0"
|
||||
},
|
||||
{
|
||||
"id": "Microsoft.CodeAnalysis.Common",
|
||||
"version": "3.8.0"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Controls.ColorPicker",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Controls.DataGrid",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Themes.Simple",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Microsoft.CodeAnalysis.CSharp.Scripting",
|
||||
"version": "3.8.0"
|
||||
},
|
||||
{
|
||||
"id": "Microsoft.CodeAnalysis.Common",
|
||||
"version": "3.8.0"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Controls.ColorPicker",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Controls.DataGrid",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Themes.Simple",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Direct2D1",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "HarfBuzzSharp",
|
||||
"version": "7.3.0"
|
||||
},
|
||||
{
|
||||
"id": "SharpDX",
|
||||
"version": "4.0.1"
|
||||
},
|
||||
{
|
||||
"id": "SharpDX.DXGI",
|
||||
"version": "4.0.1"
|
||||
},
|
||||
{
|
||||
"id": "SharpDX.Direct2D1",
|
||||
"version": "4.0.1"
|
||||
},
|
||||
{
|
||||
"id": "SharpDX.Direct3D11",
|
||||
"version": "4.0.1"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Win32",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "HarfBuzzSharp",
|
||||
"version": "7.3.0"
|
||||
},
|
||||
{
|
||||
"id": "SharpDX",
|
||||
"version": "4.0.1"
|
||||
},
|
||||
{
|
||||
"id": "SharpDX.DXGI",
|
||||
"version": "4.0.1"
|
||||
},
|
||||
{
|
||||
"id": "SharpDX.Direct2D1",
|
||||
"version": "4.0.1"
|
||||
},
|
||||
{
|
||||
"id": "SharpDX.Direct3D11",
|
||||
"version": "4.0.1"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Win32",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Fonts.Inter",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.FreeDesktop",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Tmds.DBus.Protocol",
|
||||
"version": "0.15.0"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Tmds.DBus.Protocol",
|
||||
"version": "0.15.0"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Headless",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Headless.NUnit",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "NUnit",
|
||||
"version": "3.13.0"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Headless",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "NUnit",
|
||||
"version": "3.13.0"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Headless",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Headless.Vnc",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Quamotion.RemoteViewing",
|
||||
"version": "1.1.21"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Headless",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Quamotion.RemoteViewing",
|
||||
"version": "1.1.21"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Headless",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Headless.XUnit",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "xunit.core",
|
||||
"version": "2.4.0"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Headless",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "xunit.core",
|
||||
"version": "2.4.0"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Headless",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.LinuxFramebuffer",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Skia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Skia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Markup.Xaml.Loader",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "System.Reflection.Emit",
|
||||
"version": "4.3.0"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "System.Reflection.Emit",
|
||||
"version": "4.3.0"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Native",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.ReactiveUI",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "ReactiveUI",
|
||||
"version": "18.3.1"
|
||||
},
|
||||
{
|
||||
"id": "System.Reactive",
|
||||
"version": "5.0.0"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "ReactiveUI",
|
||||
"version": "18.3.1"
|
||||
},
|
||||
{
|
||||
"id": "System.Reactive",
|
||||
"version": "5.0.0"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Remote.Protocol",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": []
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Skia",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "HarfBuzzSharp",
|
||||
"version": "7.3.0"
|
||||
},
|
||||
{
|
||||
"id": "HarfBuzzSharp.NativeAssets.Linux",
|
||||
"version": "7.3.0"
|
||||
},
|
||||
{
|
||||
"id": "HarfBuzzSharp.NativeAssets.WebAssembly",
|
||||
"version": "7.3.0"
|
||||
},
|
||||
{
|
||||
"id": "SkiaSharp",
|
||||
"version": "2.88.7"
|
||||
},
|
||||
{
|
||||
"id": "SkiaSharp.NativeAssets.Linux",
|
||||
"version": "2.88.7"
|
||||
},
|
||||
{
|
||||
"id": "SkiaSharp.NativeAssets.WebAssembly",
|
||||
"version": "2.88.7"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "HarfBuzzSharp",
|
||||
"version": "7.3.0"
|
||||
},
|
||||
{
|
||||
"id": "HarfBuzzSharp.NativeAssets.Linux",
|
||||
"version": "7.3.0"
|
||||
},
|
||||
{
|
||||
"id": "HarfBuzzSharp.NativeAssets.WebAssembly",
|
||||
"version": "7.3.0"
|
||||
},
|
||||
{
|
||||
"id": "SkiaSharp",
|
||||
"version": "2.88.7"
|
||||
},
|
||||
{
|
||||
"id": "SkiaSharp.NativeAssets.Linux",
|
||||
"version": "2.88.7"
|
||||
},
|
||||
{
|
||||
"id": "SkiaSharp.NativeAssets.WebAssembly",
|
||||
"version": "2.88.7"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Themes.Fluent",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Themes.Simple",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Win32",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia.Angle.Windows.Natives",
|
||||
"version": "2.1.0.2023020321"
|
||||
},
|
||||
{
|
||||
"id": "System.Numerics.Vectors",
|
||||
"version": "4.5.0"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia.Angle.Windows.Natives",
|
||||
"version": "2.1.0.2023020321"
|
||||
},
|
||||
{
|
||||
"id": "System.Numerics.Vectors",
|
||||
"version": "4.5.0"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.X11",
|
||||
"version": "11.0.11",
|
||||
"hash": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"framework": "net6.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.FreeDesktop",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Skia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"framework": ".NETStandard,Version=v2.0",
|
||||
"packages": [
|
||||
{
|
||||
"id": "Avalonia",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.FreeDesktop",
|
||||
"version": "11.0.11"
|
||||
},
|
||||
{
|
||||
"id": "Avalonia.Skia",
|
||||
"version": "11.0.11"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
199
pkgs/by-name/av/avalonia/package.nix
Normal file
199
pkgs/by-name/av/avalonia/package.nix
Normal file
@ -0,0 +1,199 @@
|
||||
{
|
||||
dotnetCorePackages,
|
||||
fetchFromGitHub,
|
||||
fetchNpmDeps,
|
||||
fetchzip,
|
||||
fontconfig,
|
||||
lib,
|
||||
libICE,
|
||||
libSM,
|
||||
libX11,
|
||||
libXcursor,
|
||||
libXext,
|
||||
libXi,
|
||||
libXrandr,
|
||||
liberation_ttf,
|
||||
makeFontsConf,
|
||||
nodejs,
|
||||
npmHooks,
|
||||
runCommand,
|
||||
stdenvNoCC,
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (dotnetCorePackages) systemToDotnetRid;
|
||||
|
||||
dotnet-sdk =
|
||||
with dotnetCorePackages;
|
||||
combinePackages [
|
||||
sdk_6_0
|
||||
sdk_7_0_1xx
|
||||
];
|
||||
|
||||
npmDepsFile = ./npm-deps.nix;
|
||||
|
||||
in
|
||||
stdenvNoCC.mkDerivation (
|
||||
finalAttrs:
|
||||
dotnetCorePackages.addNuGetDeps
|
||||
{
|
||||
nugetDeps = ./deps.nix;
|
||||
overrideFetchAttrs = old: {
|
||||
runtimeIds = map (system: dotnetCorePackages.systemToDotnetRid system) old.meta.platforms;
|
||||
};
|
||||
}
|
||||
rec {
|
||||
pname = "Avalonia";
|
||||
version = "11.0.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AvaloniaUI";
|
||||
repo = "Avalonia";
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-Du8DEsZKl7rnVH9YZKAWTCpEQ/5HrNlgacgK/46kx/o=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix failing tests that use unicode.org
|
||||
./0001-use-files-for-unicode-character-database.patch
|
||||
# [ERR] Compile: [...]/Microsoft.NET.Sdk.targets(148,5): error MSB4018: The "GenerateDepsFile" task failed unexpectedly. [/build/source/src/tools/DevAnalyzers/DevAnalyzers.csproj]
|
||||
# [ERR] Compile: [...]/Microsoft.NET.Sdk.targets(148,5): error MSB4018: System.IO.IOException: The process cannot access the file '/build/source/src/tools/DevAnalyzers/bin/Release/netstandard2.0/DevAnalyzers.deps.json' because it is being used by another process. [/build/source/src/tools/DevAnalyzers/DevAnalyzers.csproj]
|
||||
./0002-disable-parallel-compile.patch
|
||||
];
|
||||
|
||||
# this needs to be match the version being patched above
|
||||
UNICODE_CHARACTER_DATABASE = fetchzip {
|
||||
url = "https://www.unicode.org/Public/15.0.0/ucd/UCD.zip";
|
||||
hash = "sha256-jj6bX46VcnH7vpc9GwM9gArG+hSPbOGL6E4SaVd0s60=";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
postPatch =
|
||||
''
|
||||
patchShebangs build.sh
|
||||
|
||||
substituteInPlace src/Avalonia.X11/ICELib.cs \
|
||||
--replace-fail '"libICE.so.6"' '"${lib.getLib libICE}/lib/libICE.so.6"'
|
||||
substituteInPlace src/Avalonia.X11/SMLib.cs \
|
||||
--replace-fail '"libSM.so.6"' '"${lib.getLib libSM}/lib/libSM.so.6"'
|
||||
substituteInPlace src/Avalonia.X11/XLib.cs \
|
||||
--replace-fail '"libX11.so.6"' '"${lib.getLib libX11}/lib/libX11.so.6"' \
|
||||
--replace-fail '"libXrandr.so.2"' '"${lib.getLib libXrandr}/lib/libXrandr.so.2"' \
|
||||
--replace-fail '"libXext.so.6"' '"${lib.getLib libXext}/lib/libXext.so.6"' \
|
||||
--replace-fail '"libXi.so.6"' '"${lib.getLib libXi}/lib/libXi.so.6"' \
|
||||
--replace-fail '"libXcursor.so.1"' '"${lib.getLib libXcursor}/lib/libXcursor.so.1"'
|
||||
|
||||
# from RestoreAdditionalProjectSources, which isn't supported by nuget-to-nix
|
||||
dotnet nuget add source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8-transport/nuget/v3/index.json
|
||||
|
||||
# Tricky way to run npmConfigHook multiple times (borrowed from pagefind)
|
||||
(
|
||||
local postPatchHooks=() # written to by npmConfigHook
|
||||
source ${npmHooks.npmConfigHook}/nix-support/setup-hook
|
||||
''
|
||||
+
|
||||
# TODO: implement updateScript
|
||||
lib.concatMapStrings (
|
||||
{ path, hash }:
|
||||
let
|
||||
deps = fetchNpmDeps {
|
||||
src = "${src}/${path}";
|
||||
inherit hash;
|
||||
};
|
||||
in
|
||||
''
|
||||
npmRoot=${path} npmDeps="${deps}" npmConfigHook
|
||||
rm -rf "$TMPDIR/cache"
|
||||
''
|
||||
) (import npmDepsFile)
|
||||
+ ''
|
||||
)
|
||||
# Avalonia.Native is normally only packed on darwin.
|
||||
substituteInPlace src/Avalonia.Native/Avalonia.Native.csproj \
|
||||
--replace-fail \
|
||||
'<IsPackable>$(PackAvaloniaNative)</IsPackable>' \
|
||||
'<IsPackable>true</IsPackable>'
|
||||
'';
|
||||
|
||||
makeCacheWritable = true;
|
||||
|
||||
# CSC : error CS1566: Error reading resource 'pdbstr.exe' -- 'Could not find a part of the path '/build/.nuget-temp/packages/sourcelink/1.1.0/tools/pdbstr.exe'.' [/build/source/nukebuild/_build.csproj]
|
||||
linkNugetPackages = true;
|
||||
|
||||
# [WRN] Could not inject value for Build.ApiCompatTool
|
||||
# System.Exception: Missing package reference/download.
|
||||
# Run one of the following commands:
|
||||
# ---> System.ArgumentException: Could not find package 'Microsoft.DotNet.ApiCompat.Tool' using:
|
||||
# - Project assets file '/build/source/nukebuild/obj/project.assets.json'
|
||||
# - NuGet packages config '/build/source/nukebuild/_build.csproj'
|
||||
makeEmptyNupkgInPackages = true;
|
||||
|
||||
FONTCONFIG_FILE =
|
||||
let
|
||||
fc = makeFontsConf { fontDirectories = [ liberation_ttf ]; };
|
||||
in
|
||||
runCommand "fonts.conf" { } ''
|
||||
substitute ${fc} $out \
|
||||
--replace-fail "/etc/" "${fontconfig.out}/etc/"
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
# closed source (telemetry?) https://github.com/AvaloniaUI/Avalonia/discussions/16878
|
||||
dotnet remove packages/Avalonia/Avalonia.csproj package Avalonia.BuildServices
|
||||
'';
|
||||
|
||||
runtimeIds = [ (systemToDotnetRid stdenvNoCC.hostPlatform.system) ];
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
for project in nukebuild/_build.csproj dirs.proj; do
|
||||
for rid in $runtimeIds; do
|
||||
dotnet restore --runtime "$rid" "$project"
|
||||
done
|
||||
done
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
nodejs
|
||||
dotnet-sdk
|
||||
];
|
||||
buildInputs = [ dotnet-sdk.packages ];
|
||||
|
||||
buildTarget = "Package";
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
# ValidateApiDiff requires a network connection
|
||||
./build.sh --target $buildTarget --verbosity Verbose --skip ValidateApiDiff
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p "$out/share/nuget/source"
|
||||
cp artifacts/nuget/* "$out/share/nuget/source"
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = ./update.bash;
|
||||
inherit npmDepsFile;
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://avaloniaui.net/";
|
||||
license = [ lib.licenses.mit ];
|
||||
maintainers = with lib.maintainers; [ corngood ];
|
||||
description = "A cross-platform UI framework for dotnet";
|
||||
sourceProvenance = with lib.sourceTypes; [
|
||||
fromSource
|
||||
binaryNativeCode # npm dependencies contain binaries
|
||||
];
|
||||
platforms = dotnet-sdk.meta.platforms;
|
||||
broken = stdenvNoCC.hostPlatform.isDarwin;
|
||||
};
|
||||
}
|
||||
finalAttrs
|
||||
)
|
27
pkgs/by-name/av/avalonia/update.bash
Executable file
27
pkgs/by-name/av/avalonia/update.bash
Executable file
@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -I nixpkgs=./. -i bash -p nix-update -p prefetch-npm-deps
|
||||
#shellcheck shell=bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
package="$UPDATE_NIX_ATTR_PATH"
|
||||
nix-update "$package"
|
||||
src=$(nix-build -A "$package".src --no-out-link)
|
||||
npmDepsFile=$(nix-instantiate --eval -A "$package".npmDepsFile)
|
||||
(
|
||||
echo '['
|
||||
for path in \
|
||||
src/Avalonia.DesignerSupport/Remote/HtmlTransport/webapp \
|
||||
tests/Avalonia.DesignerSupport.Tests/Remote/HtmlTransport/webapp \
|
||||
src/Browser/Avalonia.Browser/webapp
|
||||
do
|
||||
echo ' {'
|
||||
echo " path = \"$path\";"
|
||||
echo prefetch-npm-deps "$src/$path/package-lock.json" >&2
|
||||
hash=$(prefetch-npm-deps "$src/$path/package-lock.json")
|
||||
echo " hash = \"$hash\";"
|
||||
echo ' }'
|
||||
done
|
||||
echo ']'
|
||||
) > "$npmDepsFile"
|
||||
"$(nix-build -A "$package".fetch-deps --no-out-link)"
|
@ -33,6 +33,11 @@ buildDotnetModule rec {
|
||||
|
||||
nugetDeps = ./deps.nix;
|
||||
|
||||
preConfigureNuGet = ''
|
||||
# This should really be in the upstream nuget.config
|
||||
dotnet nuget add source https://api.nuget.org/v3/index.json \
|
||||
-n nuget.org --configfile nuget.config
|
||||
'';
|
||||
|
||||
# Required for OneClick
|
||||
makeWrapperArgs = [
|
||||
|
@ -14,6 +14,9 @@ buildDotnetModule rec {
|
||||
projectFile = [ "Source/Boogie.sln" ];
|
||||
nugetDeps = ./deps.nix;
|
||||
|
||||
# [...]Microsoft.NET.Publish.targets(248,5): error MSB3021: Unable to copy file "[...]/NUnit3.TestAdapter.pdb" to "[...]/NUnit3.TestAdapter.pdb". Access to the path '[...]/NUnit3.TestAdapter.pdb' is denied. [[...]/ExecutionEngineTests.csproj]
|
||||
enableParallelBuilding = false;
|
||||
|
||||
executables = [ "BoogieDriver" ];
|
||||
|
||||
makeWrapperArgs = [
|
||||
@ -54,4 +57,3 @@ buildDotnetModule rec {
|
||||
platforms = with platforms; (linux ++ darwin);
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "files-cli";
|
||||
version = "2.13.133";
|
||||
version = "2.13.136";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "files-cli";
|
||||
owner = "files-com";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-noIMO+xQaFV8hzSUjWMASLbRtiZb6wNeuRaCYsLQxsE=";
|
||||
hash = "sha256-F20cGZtPTaiZakRiw0xspS7Mxxwr9VDTcRjHeRaLAq0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-eMxhi+zKf8rDBCKb8/OvDQApHUc2ymt0EkDsvdStED8=";
|
||||
vendorHash = "sha256-ftO+jt3MurZ4erNUmFlMEuVskVIbpRbpIWb7gZVr3jk=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
@ -14,13 +14,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fluent-bit";
|
||||
version = "3.1.7";
|
||||
version = "3.1.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fluent";
|
||||
repo = "fluent-bit";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-aolwCWZa+HS7NEbRxkcH+8Lv3Q3sDYqa4uFS1fANRHI=";
|
||||
hash = "sha256-SQltn4tbBGOFxascERG7J29vGz/jdq/4BWMH7P4BP64=";
|
||||
};
|
||||
|
||||
# optional only to avoid linux rebuild
|
||||
|
@ -11,6 +11,7 @@
|
||||
, wayland
|
||||
, cudaSupport ? config.cudaSupport
|
||||
, cudaPackages ? { }
|
||||
, autoAddDriverRunpath
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
@ -41,6 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
qt6.wrapQtAppsHook
|
||||
] ++ lib.optionals cudaSupport [
|
||||
cudaPackages.cuda_nvcc
|
||||
autoAddDriverRunpath
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@ -56,12 +58,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
vulkan-headers
|
||||
wayland
|
||||
] ++ lib.optionals cudaSupport (
|
||||
with cudaPackages;
|
||||
[
|
||||
cuda_cccl
|
||||
cuda_cudart
|
||||
libcublas
|
||||
]);
|
||||
with cudaPackages;
|
||||
[
|
||||
cuda_cccl
|
||||
cuda_cudart
|
||||
libcublas
|
||||
]
|
||||
);
|
||||
|
||||
cmakeFlags = [
|
||||
"-DKOMPUTE_OPT_USE_BUILT_IN_VULKAN_HEADER=OFF"
|
||||
|
@ -9,17 +9,17 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "kclvm_cli";
|
||||
version = "0.9.3";
|
||||
version = "0.10.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kcl-lang";
|
||||
repo = "kcl";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-nk5oJRTBRj0LE2URJqno8AoZ+/342C2tEt8d6k2MAc8=";
|
||||
hash = "sha256-OMPo2cT0ngwHuGghVSfGoDgf+FThj2GsZ3Myb1wSxQM=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/cli";
|
||||
cargoHash = "sha256-LZUE2J/UYepl5BGf4T4eWKIZfN3mVJtMDLtm0uUmvI8=";
|
||||
cargoHash = "sha256-hILG2YcwsAzzJPJno+2KzAHM226HYmQPQt9JVVYn9Jk=";
|
||||
cargoPatches = [ ./cargo_lock.patch ];
|
||||
|
||||
buildInputs = [ kclvm rustc ] ++ (
|
||||
|
@ -1,12 +1,13 @@
|
||||
{ cereal_1_3_2
|
||||
, cmake
|
||||
, fetchFromGitHub
|
||||
, fetchFromGitLab
|
||||
, glfw
|
||||
, glm
|
||||
, lib
|
||||
, spdlog
|
||||
, stdenv
|
||||
{
|
||||
cereal_1_3_2,
|
||||
cmake,
|
||||
fetchFromGitHub,
|
||||
fetchFromGitLab,
|
||||
glfw,
|
||||
glm,
|
||||
lib,
|
||||
spdlog,
|
||||
stdenv,
|
||||
}:
|
||||
|
||||
let
|
||||
@ -34,8 +35,8 @@ let
|
||||
eigen3 = fetchFromGitLab {
|
||||
owner = "libeigen";
|
||||
repo = "eigen";
|
||||
rev = "33d0937c6bdf5ec999939fb17f2a553183d14a74";
|
||||
hash = "sha256-qmFsmFEQCDH+TRFc8+5BsYAG1ybL08fWhn8NpM6H6xY=";
|
||||
rev = "f33af052e0e60d4aa367328e7d9dffc9dedca6d8";
|
||||
hash = "sha256-93I6MFIZ8tvdwTmiMihOaVVCdkWOTvXWZ5vYXzsMP+Q=";
|
||||
};
|
||||
googletest = fetchFromGitHub {
|
||||
owner = "google";
|
||||
@ -127,9 +128,10 @@ let
|
||||
|
||||
};
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mujoco";
|
||||
version = "3.2.2";
|
||||
version = "3.2.3";
|
||||
|
||||
# Bumping version? Make sure to look though the MuJoCo's commit
|
||||
# history for bumped dependency pins!
|
||||
@ -137,7 +139,7 @@ in stdenv.mkDerivation rec {
|
||||
owner = "google-deepmind";
|
||||
repo = "mujoco";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-UUPB7AY6OYWaK5uBu92kmoIE116AfFa34sYmF943AOU=";
|
||||
hash = "sha256-WMh96sJK9A5QcVmIjy4STN+vMrxLxcDPHMfEnTmSXSU=";
|
||||
};
|
||||
|
||||
patches = [ ./mujoco-system-deps-dont-fetch.patch ];
|
||||
@ -175,7 +177,9 @@ in stdenv.mkDerivation rec {
|
||||
ln -s ${pin.marchingcubecpp} build/_deps/marchingcubecpp-src
|
||||
'';
|
||||
|
||||
passthru.pin = { inherit (pin) lodepng eigen3 abseil-cpp; };
|
||||
passthru.pin = {
|
||||
inherit (pin) lodepng eigen3 abseil-cpp;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Multi-Joint dynamics with Contact. A general purpose physics simulator";
|
1315
pkgs/by-name/ne/nexusmods-app/deps.nix
generated
1315
pkgs/by-name/ne/nexusmods-app/deps.nix
generated
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,6 @@
|
||||
{
|
||||
_7zz,
|
||||
avalonia,
|
||||
buildDotnetModule,
|
||||
copyDesktopItems,
|
||||
desktop-file-utils,
|
||||
@ -32,13 +33,20 @@ buildDotnetModule (finalAttrs: {
|
||||
projectFile = "src/NexusMods.App/NexusMods.App.csproj";
|
||||
testProjectFile = "NexusMods.App.sln";
|
||||
|
||||
buildInputs = [ avalonia ];
|
||||
|
||||
nativeBuildInputs = [ copyDesktopItems ];
|
||||
|
||||
nugetDeps = ./deps.nix;
|
||||
mapNuGetDependencies = true;
|
||||
|
||||
dotnet-sdk = dotnetCorePackages.sdk_8_0;
|
||||
dotnet-runtime = dotnetCorePackages.runtime_8_0;
|
||||
|
||||
postConfigureNuGet = ''
|
||||
dotnet add src/NexusMods.Icons/NexusMods.Icons.csproj package SkiaSharp -v 2.88.7
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace Directory.Build.props \
|
||||
--replace '</PropertyGroup>' '<ErrorOnDuplicatePublishOutputFiles>false</ErrorOnDuplicatePublishOutputFiles></PropertyGroup>'
|
||||
|
@ -17,13 +17,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "onedrive";
|
||||
version = "2.5.0-rc3";
|
||||
version = "2.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "abraunegg";
|
||||
repo = "onedrive";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-UOtCRCHTBpPScFB/OcGalGFjVUslULBO3KIED+0Hs+M=";
|
||||
hash = "sha256-Kxva4gTF45arU3o/jcA5pKT7XhFY89sc6Y862FKE3BE=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "orchard";
|
||||
version = "0.23.0";
|
||||
version = "0.23.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cirruslabs";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-cBl3dvLZGO8a3rc4bqw7eDcSn0mcUBo3AlkjmSPKp9E=";
|
||||
hash = "sha256-hsYIIA2JA+LT+qaootOkHVN4JD+msO1grYQq4Z6ipYU=";
|
||||
# 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;
|
||||
|
@ -26,7 +26,7 @@ buildBazelPackage rec {
|
||||
];
|
||||
|
||||
fetchAttrs = {
|
||||
sha256 = "sha256-Qm6Ng9cXvKx043P7qyNHyyMvdGK9aNarX1ZKeCp3mgY=";
|
||||
hash = "sha256-Qm6Ng9cXvKx043P7qyNHyyMvdGK9aNarX1ZKeCp3mgY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ jdk ];
|
||||
|
@ -16,13 +16,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "pharo";
|
||||
version = "10.0.9-de76067";
|
||||
version = "10.3.1-6cdb1e5";
|
||||
|
||||
src = fetchzip {
|
||||
# It is necessary to download from there instead of from the repository because that archive
|
||||
# also contains artifacts necessary for the bootstrapping.
|
||||
url = "https://files.pharo.org/vm/pharo-spur64-headless/Linux-x86_64/source/PharoVM-${finalAttrs.version}-Linux-x86_64-c-src.zip";
|
||||
hash = "sha256-INeQGYCxBu7DvFmlDRXO0K2nhxcd9K9Xwp55iNdlvhk=";
|
||||
hash = "sha256-Oskbo0ZMh2Wr8uY9BjA54AhFVDEuzs4AN8cpO02gdfY=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
@ -7,20 +7,20 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "protoc-gen-connect-es";
|
||||
version = "1.4.0";
|
||||
version = "1.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "connectrpc";
|
||||
repo = "connect-es";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-qCIwr4Hyc5PARUa7tMntuyWRmO6ognmtjxN0myo8FXc=";
|
||||
hash = "sha256-pur1OJuud2ZwPAfd6pSuTAx2vtW6kQM9rntDmtvVj3c=";
|
||||
|
||||
postFetch = ''
|
||||
${lib.getExe npm-lockfile-fix} $out/package-lock.json
|
||||
'';
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-OGwEpXZqzMSIES+cmseQlo6/vzkx5ztO0gM/rUB0tGY=";
|
||||
npmDepsHash = "sha256-wObMmeFCP/zZ6P5cCVkFnn5X0h9/4ePsSj9uBd6C1/Y=";
|
||||
|
||||
npmWorkspace = "packages/protoc-gen-connect-es";
|
||||
|
||||
|
@ -19,7 +19,7 @@ buildBazelPackage rec {
|
||||
|
||||
LIBTOOL = lib.optionalString stdenv.isDarwin "${cctools}/bin/libtool";
|
||||
|
||||
fetchAttrs.sha256 = "sha256-WOBlZ0XNrl5UxIaSDxZeOfzS2a8ZkrKdTLKHBDC9UNQ=";
|
||||
fetchAttrs.hash = "sha256-WOBlZ0XNrl5UxIaSDxZeOfzS2a8ZkrKdTLKHBDC9UNQ=";
|
||||
|
||||
buildAttrs.installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
|
@ -5,13 +5,13 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "sesh";
|
||||
version = "2.1.0";
|
||||
version = "2.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "joshmedeski";
|
||||
repo = "sesh";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-IbXd+lk257nw+Kh9ziQ3f6vn387A7jkJB7MUAGfgDmU=";
|
||||
hash = "sha256-Kot5ah4NH1CvXHYRA4r3SS7ugkWgOv9rHlmWoToRpiw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-a45P6yt93l0CnL5mrOotQmE/1r0unjoToXqSJ+spimg=";
|
||||
|
@ -11,13 +11,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "steampipe";
|
||||
version = "0.24.0";
|
||||
version = "0.24.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "turbot";
|
||||
repo = "steampipe";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-9IrjxYJz/S3lR03LdFN81VPhIaHJ1USaiETLyS8bMFk=";
|
||||
hash = "sha256-FBWKXj1BfB9jbFMAmeBOHmv0QXmiZ3y7u1n1L8anUEg=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-m4cgYDCugI7mCLCpRbVlNe0SeWZf1aVpeggufxw64oI=";
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "tippecanoe";
|
||||
version = "2.62.0";
|
||||
version = "2.62.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "felt";
|
||||
repo = "tippecanoe";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-qlEXGtDYQENMaA6VsdDZy/7IW8jWP4zfWoymWC2InO0=";
|
||||
hash = "sha256-x8+UJZYdtiwYAoMgJeDKtXbrT0A96jRu5pbkA6WOce4=";
|
||||
};
|
||||
|
||||
buildInputs = [ sqlite zlib ];
|
||||
|
@ -37,7 +37,7 @@ buildBazelPackage rec {
|
||||
];
|
||||
|
||||
fetchAttrs = {
|
||||
sha256 = "sha256-bKASgc5KftCWtMvJkGA4nweBAtgdnyC9uXIJxPjKYS0=";
|
||||
hash = "sha256-bKASgc5KftCWtMvJkGA4nweBAtgdnyC9uXIJxPjKYS0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -304,5 +304,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
license = lib.licenses.lgpl21Plus;
|
||||
maintainers = with lib.maintainers; [ AndersonTorres alois31 ];
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "vlc";
|
||||
};
|
||||
})
|
||||
|
@ -3,12 +3,12 @@
|
||||
let
|
||||
generator = pkgsBuildBuild.buildGoModule rec {
|
||||
pname = "v2ray-domain-list-community";
|
||||
version = "20240905162746";
|
||||
version = "20240914091803";
|
||||
src = fetchFromGitHub {
|
||||
owner = "v2fly";
|
||||
repo = "domain-list-community";
|
||||
rev = version;
|
||||
hash = "sha256-fhD6EJZl8k8yYi8JnRKMFETHrT71vySNJSvk84EZbCU=";
|
||||
hash = "sha256-nfw2gpI99hX3sgCdRST4IZ1RsUxPIMWGsTNuFnvOXkU=";
|
||||
};
|
||||
vendorHash = "sha256-NLh14rXRci4hgDkBJVJDIDvobndB7KYRKAX7UjyqSsg=";
|
||||
meta = with lib; {
|
||||
|
@ -17,6 +17,7 @@
|
||||
, lndir
|
||||
, substituteAll
|
||||
, nugetPackageHook
|
||||
, xmlstarlet
|
||||
}: type: args: stdenv.mkDerivation (finalAttrs: args // {
|
||||
doInstallCheck = true;
|
||||
|
||||
@ -30,7 +31,7 @@
|
||||
./dotnet-setup-hook.sh
|
||||
] ++ lib.optional (type == "sdk") (substituteAll {
|
||||
src = ./dotnet-sdk-setup-hook.sh;
|
||||
inherit lndir;
|
||||
inherit lndir xmlstarlet;
|
||||
});
|
||||
|
||||
propagatedBuildInputs =
|
||||
|
@ -56,6 +56,7 @@ makeScopeWithSplicing' {
|
||||
|
||||
mkNugetSource = callPackage ../../../build-support/dotnet/make-nuget-source { };
|
||||
mkNugetDeps = callPackage ../../../build-support/dotnet/make-nuget-deps { };
|
||||
addNuGetDeps = callPackage ../../../build-support/dotnet/add-nuget-deps { };
|
||||
fetchNupkg = callPackage ../../../build-support/dotnet/fetch-nupkg { };
|
||||
|
||||
dotnet_8 = recurseIntoAttrs (callPackage ./8 { bootstrapSdk = dotnet_8_0.sdk_8_0_1xx; });
|
||||
|
@ -5,7 +5,7 @@ export MSBUILDTERMINALLOGGER=false
|
||||
declare -Ag _nugetInputs
|
||||
|
||||
addNugetInputs() {
|
||||
if [[ -d "$1/share/nuget" ]]; then
|
||||
if [[ -d $1/share/nuget ]]; then
|
||||
_nugetInputs[$1]=1
|
||||
fi
|
||||
}
|
||||
@ -18,34 +18,34 @@ _linkPackages() {
|
||||
local dir
|
||||
local x
|
||||
|
||||
for x in "$src"/*/*; do
|
||||
dir=$dest/$(basename "$(dirname "$x")")
|
||||
mkdir -p "$dir"
|
||||
ln -s "$x" "$dir"/
|
||||
done
|
||||
}
|
||||
|
||||
createNugetDirs() {
|
||||
nugetTemp=$PWD/.nuget-temp
|
||||
export NUGET_PACKAGES=$nugetTemp/packages
|
||||
export NUGET_FALLBACK_PACKAGES=$nugetTemp/fallback
|
||||
nugetSource=$nugetTemp/source
|
||||
mkdir -p "$NUGET_PACKAGES" "$NUGET_FALLBACK_PACKAGES" "$nugetSource"
|
||||
|
||||
dotnet new nugetconfig
|
||||
if [[ -z ${keepNugetConfig-} ]]; then
|
||||
dotnet nuget disable source nuget
|
||||
fi
|
||||
|
||||
dotnet nuget add source "$nugetSource" -n _nix
|
||||
(
|
||||
shopt -s nullglob
|
||||
for x in "$src"/*/*; do
|
||||
dir=$dest/$(basename "$(dirname "$x")")
|
||||
mkdir -p "$dir"
|
||||
ln -s "$x" "$dir"/
|
||||
done
|
||||
)
|
||||
}
|
||||
|
||||
configureNuget() {
|
||||
local x
|
||||
runHook preConfigureNuGet
|
||||
|
||||
local nugetTemp x
|
||||
|
||||
nugetTemp="$(mktemp -dt nuget.XXXXXX)"
|
||||
# trailing slash required here:
|
||||
# Microsoft.Managed.Core.targets(236,5): error : SourceRoot paths are required to end with a slash or backslash: '/build/.nuget-temp/packages'
|
||||
# also e.g. from avalonia:
|
||||
# <EmbeddedResource Include="$(NuGetPackageRoot)sourcelink/1.1.0/tools/pdbstr.exe" />
|
||||
export NUGET_PACKAGES=$nugetTemp/packages/
|
||||
export NUGET_FALLBACK_PACKAGES=$nugetTemp/fallback/
|
||||
nugetSource=$nugetTemp/source
|
||||
mkdir -p "${NUGET_PACKAGES%/}" "${NUGET_FALLBACK_PACKAGES%/}" "$nugetSource"
|
||||
|
||||
for x in "${!_nugetInputs[@]}"; do
|
||||
if [[ -d $x/share/nuget/packages ]]; then
|
||||
_linkPackages "$x/share/nuget/packages" "$NUGET_FALLBACK_PACKAGES"
|
||||
_linkPackages "$x/share/nuget/packages" "${NUGET_FALLBACK_PACKAGES%/}"
|
||||
fi
|
||||
|
||||
if [[ -d $x/share/nuget/source ]]; then
|
||||
@ -53,30 +53,150 @@ configureNuget() {
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ -n "${linkNugetPackages-}"
|
||||
|| -f .config/dotnet-tools.json
|
||||
|| -f dotnet-tools.json
|
||||
|| -f paket.dependencies ]]; then
|
||||
if [[ -f .config/dotnet-tools.json
|
||||
|| -f dotnet-tools.json ]]; then
|
||||
: ${linkNugetPackages=1}
|
||||
fi
|
||||
|
||||
if [[ -z ${keepNugetConfig-} && -f paket.dependencies ]]; then
|
||||
sed -i "s:source .*:source $nugetSource:" paket.dependencies
|
||||
sed -i "s:remote\:.*:remote\: $nugetSource:" paket.lock
|
||||
|
||||
: ${linkNuGetPackagesAndSources=1}
|
||||
fi
|
||||
|
||||
if [[ -n ${linkNuGetPackagesAndSources-} ]]; then
|
||||
for x in "${!_nugetInputs[@]}"; do
|
||||
if [[ -d $x/share/nuget/source ]]; then
|
||||
@lndir@/bin/lndir -silent "$x/share/nuget/packages" "${NUGET_PACKAGES%/}"
|
||||
@lndir@/bin/lndir -silent "$x/share/nuget/source" "${NUGET_PACKAGES%/}"
|
||||
fi
|
||||
done
|
||||
elif [[ -n ${linkNugetPackages-} ]]; then
|
||||
for x in "${!_nugetInputs[@]}"; do
|
||||
if [[ -d $x/share/nuget/packages ]]; then
|
||||
@lndir@/bin/lndir -silent "$x/share/nuget/packages" "$NUGET_PACKAGES"
|
||||
_linkPackages "$x/share/nuget/packages" "${NUGET_PACKAGES%/}"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ -z ${keepNugetConfig-} && -f paket.dependencies ]]; then
|
||||
sed -i "s:source .*:source $nugetSource:" paket.dependencies
|
||||
sed -i "s:remote\:.*:remote\: $nugetSource:" paket.lock
|
||||
|
||||
for x in "${!_nugetInputs[@]}"; do
|
||||
if [[ -d $x/share/nuget/source ]]; then
|
||||
@lndir@/bin/lndir -silent "$x/share/nuget/source" "$NUGET_PACKAGES"
|
||||
fi
|
||||
done
|
||||
# create a root nuget.config if one doesn't exist
|
||||
local rootConfig
|
||||
rootConfig=$(find . -maxdepth 1 -iname nuget.config -print -quit)
|
||||
if [[ -z $rootConfig ]]; then
|
||||
dotnet new nugetconfig
|
||||
fi
|
||||
|
||||
(
|
||||
shopt -s nullglob
|
||||
|
||||
local -a xmlConfigArgs=() xmlRootConfigArgs=()
|
||||
|
||||
local -ra xmlSourceConfigArgs=(
|
||||
-s /configuration -t elem -n packageSources
|
||||
-d '/configuration/packageSources[position() != 1]'
|
||||
-s /configuration/packageSources -t elem -n __new
|
||||
-i /configuration/packageSources/__new -t attr -n key -v _nix
|
||||
-i /configuration/packageSources/__new -t attr -n value -v "$nugetSource"
|
||||
-r /configuration/packageSources/__new -v add)
|
||||
|
||||
if [[ -z ${keepNugetConfig-} ]]; then
|
||||
xmlConfigArgs+=(-d '//configuration/*')
|
||||
xmlRootConfigArgs+=("${xmlSourceConfigArgs[@]}")
|
||||
else
|
||||
if [[ -n ${mapNuGetDependencies-} ]]; then
|
||||
xmlConfigArgs+=(
|
||||
-s /configuration -t elem -n __tmp
|
||||
# If there's no packageSourceMapping, we need to add * patterns for
|
||||
# all the sources, else they won't be used.
|
||||
-u \$prev -x ../packageSources/add
|
||||
-d '/configuration/__tmp/add/@*[name() != "key"]'
|
||||
-r /configuration/__tmp/add -v packageSource
|
||||
-s /configuration/__tmp/packageSource -t elem -n package
|
||||
-i \$prev -t attr -n pattern -v \*
|
||||
-r /configuration/__tmp -v packageSourceMapping
|
||||
-d '/configuration/packageSourceMapping[position() != 1]'
|
||||
"${xmlSourceConfigArgs[@]}"
|
||||
# add package source mappings from all existing patterns to _nix
|
||||
# this ensures _nix is always considered
|
||||
-s /configuration/packageSourceMapping -t elem -n packageSource
|
||||
-u \$prev -x ../packageSource/package
|
||||
-i \$prev -t attr -n key -v _nix)
|
||||
|
||||
cd "$nugetSource"
|
||||
local id
|
||||
for id in *; do
|
||||
id=${id,,}
|
||||
xmlConfigArgs+=(
|
||||
# unmap any fully-qualified patterns that exist, so they
|
||||
# can't be used, using a horrific method for
|
||||
# case-insensitivity in xpath1
|
||||
-d "/configuration/packageSourceMapping/packageSource/package[translate(@pattern, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') = ${id@Q}]"
|
||||
-s '/configuration/packageSourceMapping/packageSource[@key="_nix"]' -t elem -n package
|
||||
-i \$prev -t attr -n pattern -v "$id")
|
||||
done
|
||||
cd - < /dev/null
|
||||
else
|
||||
xmlConfigArgs+=(
|
||||
"${xmlSourceConfigArgs[@]}"
|
||||
# add package source mappings from all existing patterns to _nix
|
||||
# this ensures _nix is always considered
|
||||
-s /configuration/packageSourceMapping -t elem -n packageSource
|
||||
-u \$prev -x '../packageSource/package'
|
||||
-i \$prev -t attr -n key -v _nix
|
||||
# delete empty _nix mapping
|
||||
-d '/configuration/packageSourceMapping/packageSource[@key="_nix" and not(*)]')
|
||||
fi
|
||||
fi
|
||||
|
||||
# try to stop the global config from having any effect
|
||||
if [[ -z ${keepNugetConfig-} || -z ${allowGlobalNuGetConfig-} ]]; then
|
||||
local -ar configSections=(
|
||||
config
|
||||
bindingRedirects
|
||||
packageRestore
|
||||
solution
|
||||
packageSources
|
||||
auditSources
|
||||
apikeys
|
||||
disabledPackageSources
|
||||
activePackageSource
|
||||
fallbackPackageFolders
|
||||
packageSourceMapping
|
||||
packageManagement)
|
||||
|
||||
for section in "${configSections[@]}"; do
|
||||
xmlRootConfigArgs+=(
|
||||
-s /configuration -t elem -n "$section"
|
||||
# hacky way of ensuring we use existing sections when they exist
|
||||
-d "/configuration/$section[position() != 1]"
|
||||
# hacky way of adding to the start of a possibly empty element
|
||||
-s "/configuration/$section" -t elem -n __unused
|
||||
-i "/configuration/$section/*[1]" -t elem -n clear
|
||||
-d "/configuration/$section/__unused"
|
||||
# delete consecutive clears
|
||||
# these actually cause nuget tools to fail in some cases
|
||||
-d "/configuration/$section/clear[position() = 2 and name() = \"clear\"]")
|
||||
done
|
||||
fi
|
||||
|
||||
find . \( -iname nuget.config \) -print0 | while IFS= read -rd "" config; do
|
||||
local dir isRoot=
|
||||
|
||||
dir=$(dirname "$config")
|
||||
[[ $dir != . ]] || isRoot=1
|
||||
|
||||
@xmlstarlet@/bin/xmlstarlet \
|
||||
ed --inplace \
|
||||
"${xmlConfigArgs[@]}" \
|
||||
${isRoot:+"${xmlRootConfigArgs[@]}"} \
|
||||
"$config"
|
||||
done
|
||||
)
|
||||
|
||||
runHook postConfigureNuGet
|
||||
}
|
||||
|
||||
if [[ -z ${dontConfigureNuget-} ]]; then
|
||||
prePhases+=(createNugetDirs)
|
||||
preConfigurePhases+=(configureNuget)
|
||||
fi
|
||||
|
@ -1,12 +1,14 @@
|
||||
{
|
||||
makeSetupHook,
|
||||
unzip,
|
||||
zip,
|
||||
xmlstarlet,
|
||||
strip-nondeterminism,
|
||||
}:
|
||||
makeSetupHook {
|
||||
name = "nuget-package-hook";
|
||||
substitutions = {
|
||||
inherit zip;
|
||||
inherit unzip zip xmlstarlet;
|
||||
stripNondeterminism = strip-nondeterminism;
|
||||
};
|
||||
} ./nuget-package-hook.sh
|
||||
|
@ -1,29 +1,85 @@
|
||||
# shellcheck shell=bash disable=SC2154
|
||||
|
||||
unpackNupkg() {
|
||||
local -r nupkg="$1" unpacked="$2"
|
||||
local nuspec nuspec_l
|
||||
|
||||
mkdir -p "$unpacked"
|
||||
@unzip@/bin/unzip -nqd "$unpacked" "$nupkg"
|
||||
cd "$unpacked"
|
||||
chmod -R +rw .
|
||||
nuspec=(*.nuspec)
|
||||
nuspec_l="${nuspec,,}"
|
||||
if [[ $nuspec != "$nuspec_l" ]]; then
|
||||
mv "$nuspec" "$nuspec".tmp
|
||||
mv "$nuspec".tmp "$nuspec_l"
|
||||
fi
|
||||
echo {} > .nupkg.metadata
|
||||
cd - >/dev/null
|
||||
}
|
||||
|
||||
_unpackNugetPackagesInOutput() {
|
||||
local -r unpacked="$prefix"/share/nuget/packages/.unpacked
|
||||
local nuspec nuspec_l
|
||||
(
|
||||
shopt -s nullglob globstar
|
||||
for nupkg in "$prefix"/share/nuget/source/**/*.nupkg; do
|
||||
unpackNupkg "$nupkg" "$unpacked"
|
||||
@xmlstarlet@/bin/xmlstarlet \
|
||||
sel -t \
|
||||
-m /_:package/_:metadata \
|
||||
-v _:id -nl \
|
||||
-v _:version -nl \
|
||||
"$unpacked"/*.nuspec | (
|
||||
read id
|
||||
read version
|
||||
id=''${id,,}
|
||||
version=''${version,,}
|
||||
mkdir -p "$prefix"/share/nuget/packages/"$id"
|
||||
mv "$unpacked" "$prefix"/share/nuget/packages/"$id"/"$version"
|
||||
)
|
||||
done
|
||||
rm -rf "$prefix"/share/nuget/source
|
||||
)
|
||||
}
|
||||
|
||||
unpackNugetPackages() {
|
||||
local output
|
||||
for output in $(getAllOutputNames); do
|
||||
prefix="${!output}" _unpackNugetPackagesInOutput
|
||||
done
|
||||
}
|
||||
|
||||
if [[ -z ${dontUnpackNugetPackages-} ]]; then
|
||||
preFixupHooks+=(unpackNugetPackages)
|
||||
fi
|
||||
|
||||
_createNugetSourceInOutput() {
|
||||
local package version id dir nupkg content
|
||||
local -a nuspec
|
||||
shopt -s nullglob
|
||||
(
|
||||
shopt -s nullglob
|
||||
|
||||
for package in "$prefix"/share/nuget/packages/*/*; do
|
||||
version=$(basename "$package")
|
||||
id=$(basename "$(dirname "$package")")
|
||||
dir="$prefix/share/nuget/source/$id/$version"
|
||||
nupkg=$dir/$id.$version.nupkg
|
||||
nuspec=("$package"/*.nuspec)
|
||||
for package in "$prefix"/share/nuget/packages/*/*; do
|
||||
version=$(basename "$package")
|
||||
id=$(basename "$(dirname "$package")")
|
||||
dir="$prefix/share/nuget/source/$id/$version"
|
||||
nupkg=$dir/$id.$version.nupkg
|
||||
nuspec=("$package"/*.nuspec)
|
||||
|
||||
if [[ -n ${createInstallableNugetSource-} ]]; then
|
||||
content=.
|
||||
else
|
||||
content=$(basename "${nuspec[0]}")
|
||||
fi
|
||||
if [[ -n ${createInstallableNugetSource-} ]]; then
|
||||
content=.
|
||||
else
|
||||
content=$(basename "${nuspec[0]}")
|
||||
fi
|
||||
|
||||
mkdir -p "$dir"
|
||||
cp "${nuspec[0]}" "$dir/$id.nuspec"
|
||||
(cd "$package" && @zip@/bin/zip -rq0 "$nupkg" "$content")
|
||||
@stripNondeterminism@/bin/strip-nondeterminism --type zip "$nupkg"
|
||||
touch "$nupkg".sha512
|
||||
done
|
||||
mkdir -p "$dir"
|
||||
cp "${nuspec[0]}" "$dir/$id.nuspec"
|
||||
(cd "$package" && @zip@/bin/zip -rq0 "$nupkg" "$content")
|
||||
@stripNondeterminism@/bin/strip-nondeterminism --type zip "$nupkg"
|
||||
touch "$nupkg".sha512
|
||||
done
|
||||
)
|
||||
}
|
||||
|
||||
createNugetSource() {
|
||||
|
@ -59,10 +59,11 @@ in {
|
||||
-m /_:package/_:metadata \
|
||||
-v _:id -nl \
|
||||
-v _:version -nl \
|
||||
"$package"/*.nuspec \
|
||||
| tr A-Z a-z | (
|
||||
"$package"/*.nuspec | (
|
||||
read id
|
||||
read version
|
||||
id=''${id,,}
|
||||
version=''${version,,}
|
||||
mkdir -p "$packages"/share/nuget/packages/"$id"
|
||||
cp -r "$package" "$packages"/share/nuget/packages/"$id"/"$version"
|
||||
echo {} > "$packages"/share/nuget/packages/"$id"/"$version"/.nupkg.metadata
|
||||
|
@ -7,6 +7,7 @@
|
||||
, libuuid
|
||||
, openssl
|
||||
, lttng-ust_2_12
|
||||
, patchelf
|
||||
, writeShellScriptBin
|
||||
}:
|
||||
|
||||
@ -43,23 +44,23 @@ in writeShellScriptBin "patch-nupkgs" (''
|
||||
find "$x" -type f -print0 | while IFS= read -rd "" p; do
|
||||
if [[ "$p" != *.nix-patched ]] \
|
||||
&& isELF "$p" \
|
||||
&& patchelf --print-interpreter "$p" &>/dev/null; then
|
||||
&& ${patchelf}/bin/patchelf --print-interpreter "$p" &>/dev/null; then
|
||||
tmp="$p".$$.nix-patched
|
||||
# if this fails to copy then another process must have patched it
|
||||
cp --reflink=auto "$p" "$tmp" || continue
|
||||
echo "Patchelfing $p as $tmp"
|
||||
patchelf \
|
||||
${patchelf}/bin/patchelf \
|
||||
--set-interpreter "${stdenv.cc.bintools.dynamicLinker}" \
|
||||
"$tmp" ||:
|
||||
# This makes sure that if the binary requires some specific runtime dependencies, it can find it.
|
||||
# This fixes dotnet-built binaries like crossgen2
|
||||
patchelf \
|
||||
${patchelf}/bin/patchelf \
|
||||
--add-needed libicui18n.so \
|
||||
--add-needed libicuuc.so \
|
||||
--add-needed libz.so \
|
||||
--add-needed libssl.so \
|
||||
"$tmp"
|
||||
patchelf \
|
||||
${patchelf}/bin/patchelf \
|
||||
--add-rpath "${binaryRPath}" \
|
||||
"$tmp" ||:
|
||||
mv "$tmp" "$p"
|
||||
|
@ -79,7 +79,7 @@ let
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [
|
||||
nix
|
||||
cacert
|
||||
(nuget-to-nix.override { dotnet-sdk = dotnetSdk; })
|
||||
nuget-to-nix
|
||||
];
|
||||
postPatch = old.postPatch or "" + ''
|
||||
xmlstarlet ed \
|
||||
|
@ -1,7 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
pythonOlder,
|
||||
fetchPypi,
|
||||
cmake,
|
||||
ninja,
|
||||
@ -12,15 +11,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "awkward-cpp";
|
||||
version = "37";
|
||||
version = "38";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "awkward_cpp";
|
||||
inherit version;
|
||||
hash = "sha256-bf9fzkr8rbSSu/fLIJCFctmb3DKqK+qGgbrPtpsqqG0=";
|
||||
hash = "sha256-l0SVah14fD0hXqE8WqG2EQnIk/Ad0e/i2mj1jt6K0Vs=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
@ -32,16 +32,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "awkward";
|
||||
version = "2.6.7";
|
||||
version = "2.6.8";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "scikit-hep";
|
||||
repo = "awkward";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-6Q2eXriMYmfrgv69ytxvyrxK9HPMX8AIZ3ZStZUMGIk=";
|
||||
hash = "sha256-2VhG4Elv1neBEfogfhjwlPltQK64wjaLUMhDg7xB/Ow=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
@ -1,7 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
pythonOlder,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
@ -23,16 +22,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "cohere";
|
||||
version = "5.9.1";
|
||||
version = "5.9.2";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cohere-ai";
|
||||
repo = "cohere-python";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-c6AWGKX5ML3Zs02hwIYt8dvZVMvWEmUAkOlU0SvpUaA=";
|
||||
hash = "sha256-7vyaKrMpD1DPe8qptprsAK24kzAwSL4fu53uEqJ1VWE=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-vite";
|
||||
version = "3.0.4";
|
||||
version = "3.0.5";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -17,7 +17,7 @@ buildPythonPackage rec {
|
||||
owner = "MrBin99";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-rIT4WA45v353vSV56fBOa0euiuwnXWmhbxniAWPAkMo=";
|
||||
hash = "sha256-v6jmtiQjTJegD7aeuu3HkuKnYWgMZ7TqW5onkSnc7Xs=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ django ];
|
||||
|
@ -6,6 +6,7 @@
|
||||
makeWrapper,
|
||||
setuptools,
|
||||
numpy,
|
||||
scipy,
|
||||
distutils,
|
||||
pytestCheckHook,
|
||||
mock,
|
||||
@ -32,7 +33,10 @@ buildPythonPackage rec {
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
dependencies = [ numpy ];
|
||||
dependencies = [
|
||||
numpy
|
||||
scipy
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
|
@ -1,19 +1,28 @@
|
||||
{
|
||||
absl-py,
|
||||
buildPythonPackage,
|
||||
cmake,
|
||||
etils,
|
||||
fetchPypi,
|
||||
glfw,
|
||||
lib,
|
||||
mujoco,
|
||||
numpy,
|
||||
perl,
|
||||
pybind11,
|
||||
pyopengl,
|
||||
python,
|
||||
setuptools,
|
||||
stdenv,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
|
||||
# nativeBuildInputs
|
||||
cmake,
|
||||
|
||||
# build-system
|
||||
setuptools,
|
||||
|
||||
# buildInputs
|
||||
mujoco,
|
||||
pybind11,
|
||||
|
||||
# dependencies
|
||||
absl-py,
|
||||
etils,
|
||||
glfw,
|
||||
numpy,
|
||||
pyopengl,
|
||||
|
||||
perl,
|
||||
python,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@ -28,19 +37,21 @@ buildPythonPackage rec {
|
||||
# in the project's CI.
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-HDN6KA2JYDZqad/MybsX1oV/VvXPshb0mi0UBZq47Qs=";
|
||||
hash = "sha256-3WF/QMHARPXff7yTM9MJTTyIYp1OPYYiTly0LeQKaos=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
setuptools
|
||||
];
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
buildInputs = [
|
||||
mujoco
|
||||
pybind11
|
||||
];
|
||||
propagatedBuildInputs = [
|
||||
|
||||
dependencies = [
|
||||
absl-py
|
||||
etils
|
||||
glfw
|
||||
|
@ -2,9 +2,8 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
pythonAtLeast,
|
||||
pythonOlder,
|
||||
# build inputs
|
||||
|
||||
# dependencies
|
||||
networkx,
|
||||
numpy,
|
||||
scipy,
|
||||
@ -16,42 +15,29 @@
|
||||
tqdm,
|
||||
joblib,
|
||||
opt-einsum,
|
||||
# check inputs
|
||||
xgboost,
|
||||
google-generativeai,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
pytest-cov,
|
||||
coverage,
|
||||
mock,
|
||||
black,
|
||||
}:
|
||||
let
|
||||
buildPythonPackage rec {
|
||||
pname = "pgmpy";
|
||||
version = "0.1.25";
|
||||
in
|
||||
# optional-dependencies = {
|
||||
# all = [ daft ];
|
||||
# };
|
||||
buildPythonPackage {
|
||||
inherit pname version;
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
version = "0.1.26";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pgmpy";
|
||||
repo = pname;
|
||||
repo = "pgmpy";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-d2TNcJQ82XxTWdetLgtKXRpFulAEEzrr+cyRewoA6YI=";
|
||||
hash = "sha256-RusVREhEXYaJuQXTaCQ7EJgbo4+wLB3wXXCAc3sBGtU=";
|
||||
};
|
||||
|
||||
# TODO: Remove this patch after updating to pgmpy 0.1.26.
|
||||
# The PR https://github.com/pgmpy/pgmpy/pull/1745 will have been merged.
|
||||
# It contains the fix below, among other things, which is why we do not use fetchpatch.
|
||||
postPatch = lib.optionalString (pythonAtLeast "3.12") ''
|
||||
substituteInPlace pgmpy/tests/test_estimators/test_MarginalEstimator.py \
|
||||
--replace-fail 'self.assert_' 'self.assertTrue'
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dependencies = [
|
||||
networkx
|
||||
numpy
|
||||
scipy
|
||||
@ -63,10 +49,21 @@ buildPythonPackage {
|
||||
tqdm
|
||||
joblib
|
||||
opt-einsum
|
||||
xgboost
|
||||
google-generativeai
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
"test_to_daft" # requires optional dependency daft
|
||||
# flaky:
|
||||
# AssertionError: -45.78899127622197 != -45.788991276221964
|
||||
"test_score"
|
||||
|
||||
# self.assertTrue(np.isclose(coef, dep_coefs[i], atol=1e-4))
|
||||
# AssertionError: False is not true
|
||||
"test_pillai"
|
||||
|
||||
# requires optional dependency daft
|
||||
"test_to_daft"
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
@ -78,11 +75,11 @@ buildPythonPackage {
|
||||
black
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Python Library for learning (Structure and Parameter), inference (Probabilistic and Causal), and simulations in Bayesian Networks";
|
||||
homepage = "https://github.com/pgmpy/pgmpy";
|
||||
changelog = "https://github.com/pgmpy/pgmpy/releases/tag/v${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ happysalada ];
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ happysalada ];
|
||||
};
|
||||
}
|
||||
|
@ -1,14 +1,22 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
cargo,
|
||||
fetchFromGitHub,
|
||||
poetry-core,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
rustc,
|
||||
packaging,
|
||||
rustPlatform,
|
||||
|
||||
# buildInputs
|
||||
libiconv,
|
||||
|
||||
# build-system
|
||||
cargo,
|
||||
poetry-core,
|
||||
rustc,
|
||||
|
||||
# dependencies
|
||||
packaging,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@ -16,8 +24,6 @@ buildPythonPackage rec {
|
||||
version = "0.2.3";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dimastbk";
|
||||
repo = "python-calamine";
|
||||
@ -36,6 +42,8 @@ buildPythonPackage rec {
|
||||
ln -s ${./Cargo.lock} Cargo.lock
|
||||
'';
|
||||
|
||||
buildInputs = [ libiconv ];
|
||||
|
||||
build-system = [
|
||||
cargo
|
||||
poetry-core
|
||||
|
@ -1,47 +1,60 @@
|
||||
{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, boost, tbb
|
||||
, gmp, llvm, clang, sqlite, python3
|
||||
, ocamlPackages, mpfr, ppl, doxygen, graphviz
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
cmake,
|
||||
boost,
|
||||
tbb,
|
||||
gmp,
|
||||
llvm,
|
||||
clang,
|
||||
sqlite,
|
||||
python3,
|
||||
ocamlPackages,
|
||||
mpfr,
|
||||
ppl,
|
||||
doxygen,
|
||||
graphviz,
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (python3.pkgs)
|
||||
setuptools
|
||||
wheel
|
||||
build
|
||||
installer
|
||||
wrapPython
|
||||
pygments
|
||||
;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ikos";
|
||||
version = "3.2";
|
||||
version = "3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "NASA-SW-VnV";
|
||||
repo = "ikos";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-zWWfmjYgqhAztGivAJwZ4+yRrAHxgU1CF1Y7vVr95UA=";
|
||||
hash = "sha256-4/M0fyqvzdr0aBPCUuLiBgqMOrHEmikkIjQMB9KSrdo=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix build with GCC 13
|
||||
# https://github.com/NASA-SW-VnV/ikos/pull/262
|
||||
(fetchpatch {
|
||||
name = "gcc-13.patch";
|
||||
url = "https://github.com/NASA-SW-VnV/ikos/commit/73c816641fb9780f0d3b5e448510363a3cf21ce2.patch";
|
||||
hash = "sha256-bkeSAtxrL+z+6QNiGOWSg7kN8XiZqMxlJiu5Dquhca0=";
|
||||
})
|
||||
# Fix an error in ikos-view; Pygments>=2.12 no longer passes outfile to wrap.
|
||||
./formatter-wrap.patch
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
python3.pkgs.setuptools
|
||||
python3.pkgs.wheel
|
||||
python3.pkgs.build
|
||||
python3.pkgs.installer
|
||||
python3.pkgs.wrapPython
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
tbb
|
||||
gmp
|
||||
clang
|
||||
llvm
|
||||
sqlite
|
||||
python3
|
||||
ocamlPackages.apron
|
||||
mpfr
|
||||
ppl
|
||||
doxygen
|
||||
graphviz
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake setuptools wheel build installer wrapPython ];
|
||||
buildInputs = [ boost tbb gmp clang llvm sqlite python3
|
||||
ocamlPackages.apron mpfr ppl doxygen graphviz ];
|
||||
propagatedBuildInputs = [
|
||||
pygments
|
||||
python3.pkgs.pygments
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff --git a/analyzer/python/ikos/view.py b/analyzer/python/ikos/view.py
|
||||
index 4e9ed5d..6643db8 100644
|
||||
--- a/analyzer/python/ikos/view.py
|
||||
+++ b/analyzer/python/ikos/view.py
|
||||
@@ -422,7 +422,7 @@ class Formatter(HtmlFormatter):
|
||||
self.call_contexts = {}
|
||||
self.checks = {}
|
||||
|
||||
- def wrap(self, source, outfile):
|
||||
+ def wrap(self, source):
|
||||
return self._wrap_code(source)
|
||||
|
||||
def _wrap_code(self, source):
|
@ -1,57 +0,0 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p jq -p xmlstarlet -p curl
|
||||
set -euo pipefail
|
||||
|
||||
cat << EOL
|
||||
{ fetchurl }: [
|
||||
EOL
|
||||
|
||||
mapfile -t repos < <(
|
||||
xmlstarlet sel -t -v 'configuration/packageSources/add/@value' -n NuGet.config |
|
||||
while IFS= read index
|
||||
do
|
||||
curl --compressed -fsL "$index" | \
|
||||
jq -r '.resources[] | select(."@type" == "PackageBaseAddress/3.0.0")."@id"'
|
||||
done
|
||||
)
|
||||
|
||||
find .packages fake-home/.nuget/packages -name \*.nupkg -printf '%P\n' | sort -u |
|
||||
while IFS= read file
|
||||
do
|
||||
packagedir=$(dirname $file)
|
||||
version=$(basename $packagedir)
|
||||
package=$(dirname $packagedir)
|
||||
|
||||
found=false
|
||||
for repo in "${repos[@]}"
|
||||
do
|
||||
url="$repo$package/$version/$package.$version.nupkg"
|
||||
if curl -fsL "$url" -o /dev/null
|
||||
then
|
||||
found=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if ! $found
|
||||
then
|
||||
echo "couldn't find $package $version" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sha256=$(nix-prefetch-url "$url" 2>/dev/null)
|
||||
cat << EOL
|
||||
{
|
||||
name = "$package";
|
||||
version = "$version";
|
||||
src = fetchurl {
|
||||
url = "$url";
|
||||
sha256 = "$sha256";
|
||||
};
|
||||
}
|
||||
EOL
|
||||
done
|
||||
|
||||
cat << EOL
|
||||
]
|
||||
EOL
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchurl, makeWrapper, glibcLocales, mono, nuget, unzip, dotnetCorePackages, writeText, roslyn }:
|
||||
{ lib, stdenv, fetchurl, makeWrapper, glibcLocales, mono, unzip, dotnetCorePackages, roslyn }:
|
||||
|
||||
let
|
||||
|
||||
@ -9,23 +9,21 @@ let
|
||||
sha256 = "1wnzbdpk4s9bmawlh359ak2b8zi0sgx1qvcjnvfncr1wsck53v7q";
|
||||
};
|
||||
|
||||
deps = map (package: package.src)
|
||||
(import ./deps.nix { inherit fetchurl; });
|
||||
|
||||
nuget-config = writeText "NuGet.config" ''
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<clear />
|
||||
</packageSources>
|
||||
</configuration>
|
||||
'';
|
||||
|
||||
inherit (stdenv.hostPlatform.extensions) sharedLibrary;
|
||||
|
||||
mkPackage = attrs: stdenv.mkDerivation (finalAttrs:
|
||||
dotnetCorePackages.addNuGetDeps
|
||||
{
|
||||
nugetDeps = ./deps.nix;
|
||||
overrideFetchAttrs = a: {
|
||||
dontBuild = false;
|
||||
};
|
||||
}
|
||||
attrs finalAttrs);
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
mkPackage rec {
|
||||
pname = "msbuild";
|
||||
version = "16.10.1+xamarinxplat.2021.05.26.14.00";
|
||||
|
||||
@ -42,7 +40,6 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
nuget
|
||||
glibcLocales
|
||||
];
|
||||
|
||||
@ -64,18 +61,9 @@ stdenv.mkDerivation rec {
|
||||
mv LICENSE license.bak && mv license.bak license
|
||||
'';
|
||||
|
||||
linkNugetPackages = true;
|
||||
|
||||
buildPhase = ''
|
||||
unset NUGET_PACKAGES
|
||||
# nuget would otherwise try to base itself in /homeless-shelter
|
||||
export HOME=$(pwd)/fake-home
|
||||
|
||||
cp ${nuget-config} NuGet.config
|
||||
nuget sources Add -Name nixos -Source $(pwd)/nixos
|
||||
|
||||
for package in ${toString deps}; do
|
||||
nuget add $package -Source nixos
|
||||
done
|
||||
|
||||
mkdir -p artifacts
|
||||
unzip ${xplat} -d artifacts
|
||||
mv artifacts/msbuild artifacts/mono-msbuild
|
||||
@ -98,7 +86,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
# DisableNerdbankVersioning https://gitter.im/Microsoft/msbuild/archives/2018/06/27?at=5b33dbc4ce3b0f268d489bfa
|
||||
# TODO there are some (many?) failing tests
|
||||
./eng/cibuild_bootstrapped_msbuild.sh --host_type mono --configuration Release --skip_tests /p:DisableNerdbankVersioning=true
|
||||
NuGetPackageRoot="$NUGET_PACKAGES" ./eng/cibuild_bootstrapped_msbuild.sh --host_type mono --configuration Release --skip_tests /p:DisableNerdbankVersioning=true
|
||||
patchShebangs stage1/mono-msbuild/msbuild
|
||||
'';
|
||||
|
||||
|
2075
pkgs/development/tools/build-managers/msbuild/deps.nix
generated
2075
pkgs/development/tools/build-managers/msbuild/deps.nix
generated
File diff suppressed because it is too large
Load Diff
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "reviewdog";
|
||||
version = "0.20.1";
|
||||
version = "0.20.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Iu5jFSVg7I0i/GsSqAn90foaTG/6KmLMaqgna/0NOY0=";
|
||||
hash = "sha256-UB2cylJn90TE3ng9JaPwmpbkhuPOmRnlS/eCZSjfqwQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-djM2nMwLG16NSBTZyovOvi0ZgzIMANAWhB+tAaqJ02Q=";
|
||||
vendorHash = "sha256-hFmUhA35J1c2Mp7SeaJF4+Jid8GfdsEiF7lEdPoYbS4=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
@ -27,8 +27,8 @@ let
|
||||
# 2) nix-build -A tree-sitter.updater.update-all-grammars
|
||||
# 3) Set GITHUB_TOKEN env variable to avoid api rate limit (Use a Personal Access Token from https://github.com/settings/tokens It does not need any permissions)
|
||||
# 4) run the ./result script that is output by that (it updates ./grammars)
|
||||
version = "0.23.0";
|
||||
hash = "sha256-QNi2u6/jtiMo1dLYoA8Ev1OvZfa8mXCMibSD70J4vVI=";
|
||||
version = "0.22.6";
|
||||
hash = "sha256-jBCKgDlvXwA7Z4GDBJ+aZc52zC+om30DtsZJuHado1s=";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
@ -111,7 +111,7 @@ rustPlatform.buildRustPackage {
|
||||
pname = "tree-sitter";
|
||||
inherit src version;
|
||||
|
||||
cargoHash = "sha256-H4baEmGsQx+W9EXblt8R1CTYfkgR+dQDAsIwPVsqR68=";
|
||||
cargoHash = "sha256-44FIO0kPso6NxjLwmggsheILba3r9GEhDld2ddt601g=";
|
||||
|
||||
buildInputs =
|
||||
lib.optionals stdenv.isDarwin [ Security CoreServices ];
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/polarmutex/tree-sitter-beancount",
|
||||
"rev": "321b12d0b02923c36e8cd9768afe6db5ced98e33",
|
||||
"date": "2024-07-19T21:09:17-04:00",
|
||||
"path": "/nix/store/v8yv84fm0n134mr5vmwbpr4cpyl71vxz-tree-sitter-beancount",
|
||||
"sha256": "1milrdb8ka5vkypl0b44xgfdn0haydg2fz7489djcwpjkx7gfrsg",
|
||||
"hash": "sha256-T2f3Tp/yciZbQuR8J17zCgLb3OuELECvn7uoiVbLNNY=",
|
||||
"rev": "6c665e7cf15d76a1687959643868a78fb381458d",
|
||||
"date": "2024-03-09T18:30:23-05:00",
|
||||
"path": "/nix/store/al4c5f670bl596mlp3vk1njz7w8bhq98-tree-sitter-beancount",
|
||||
"sha256": "0cwiw69br9y8w5iysdh31i4vlvfgj79zvpkz93y1spyxx6vlylc5",
|
||||
"hash": "sha256-hVFPt+ndXx38SH/e/dORz226SQwDNu1j4cinvJLhkTM=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/sogaiu/tree-sitter-clojure",
|
||||
"rev": "f4236d4da8aa92bc105d9c118746474c608e6af7",
|
||||
"date": "2024-05-22T23:05:15+09:00",
|
||||
"path": "/nix/store/vl1d7aql1bcvn65khrgs13rfk90q08ik-tree-sitter-clojure",
|
||||
"sha256": "16hnb5d8shz216sv9hj5hxpg63ri86w5pf9bzi5z3f37zh7vlljj",
|
||||
"hash": "sha256-UlK6D/xnuPFL/Cu5W7hBMQ/zbodFwrS1CeJDjVpZFpo=",
|
||||
"rev": "3a1ace906c151dd631cf6f149b5083f2b60e6a9e",
|
||||
"date": "2024-05-15T19:51:17+09:00",
|
||||
"path": "/nix/store/naaja1ijjxpsln6fr62sd4m3sgygb309-tree-sitter-clojure",
|
||||
"sha256": "1j41ba48sid6blnfzn6s9vsl829qxd86lr6yyrnl95m42x8q5cx4",
|
||||
"hash": "sha256-pLOCUReklkRt9t5kalDrOAlE9U7a2O8sXaZFjYhagcg=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/uyha/tree-sitter-cmake",
|
||||
"rev": "69d7a8b0f7493b0dbb07d54e8fea96c5421e8a71",
|
||||
"date": "2024-06-20T12:32:15+07:00",
|
||||
"path": "/nix/store/ldbzx710y8wy6dwca0hh8l4aa3cihbr2-tree-sitter-cmake",
|
||||
"sha256": "10lj4f0h8bcbyl03rxgfhizj4vn6fz47jw6clfjz0c1ayxzql9av",
|
||||
"hash": "sha256-WyWKf/cqMPClo8xwech3xm4if4Tu9TwA9YstBIEjkoI=",
|
||||
"rev": "20ffd6d3b4da1acdbf2d08204b2130a5b2f7c4b3",
|
||||
"date": "2024-03-19T09:50:27+02:00",
|
||||
"path": "/nix/store/2fcf8g6rryigpy6grr284qzgmqw1gkd5-tree-sitter-cmake",
|
||||
"sha256": "16klinbjr9k5piwqvfvl48wmprk9wlypqnmihryy2wj2m2xzlyqa",
|
||||
"hash": "sha256-Cnv6u6hCcuF9hrFafD3laeZbOSJ0u415vGWmLJeNdJo=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-cpp",
|
||||
"rev": "30f973c2244f0bff444186185f475c3bd76bc3a5",
|
||||
"date": "2024-09-02T20:54:34-04:00",
|
||||
"path": "/nix/store/rmnzl3zg6jpqcxlya59xgyvwq53kabk3-tree-sitter-cpp",
|
||||
"sha256": "0jd6rprbcbc6bd5rppxw21vlg8sv2h8f9bpby45bbb8w3n7ysjmg",
|
||||
"hash": "sha256-r0rtjx0crbUK8euu5BAUW6NHdxC835tLW4YttvLNpkk=",
|
||||
"rev": "2369fa991eba294e9238e28280ffcd58132f94bc",
|
||||
"date": "2024-04-30T23:37:25-04:00",
|
||||
"path": "/nix/store/6zvwyr1034vawcvw8yra4rcjb6m7shlj-tree-sitter-cpp",
|
||||
"sha256": "1dbb8w4dyzgp7czqnrdfyjbm6zyyxbxqmfzmrj6kd37vcxldxq5d",
|
||||
"hash": "sha256-reDeaGf7jDaNzPW7ivvq3n9Tl/SuZYs/O/d93whHa7U=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-css",
|
||||
"rev": "a68fcd1e6b03118d1e92ffa45e7ab7a39d52d3f7",
|
||||
"date": "2024-09-02T04:29:00-04:00",
|
||||
"path": "/nix/store/46v1b4mfmsgd7sk48n6l613vjcxpl3gg-tree-sitter-css",
|
||||
"sha256": "1apypprrqn23ghay11w35vz31crpjdby6imjhnxq9cqj9rvhxgx3",
|
||||
"hash": "sha256-o78Od04Ss4S7hbJG41eTN7Mw/i6Dh+AVfENYnPO9/qo=",
|
||||
"rev": "f6be52c3d1cdb1c5e4dd7d8bce0a57497f55d6af",
|
||||
"date": "2024-05-05T18:14:34-04:00",
|
||||
"path": "/nix/store/iw66hs4n4wmf9mjaj4zb78diwfkb8y4d-tree-sitter-css",
|
||||
"sha256": "1mq5yzcj16bv9jphgj0v16fsa9bzf7y204c78mf79ls2rqsanljp",
|
||||
"hash": "sha256-V1KrNM5C03RcRYcRIPxxfyWlnQkbyAevTHuZINn3Bdc=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/thehamsta/tree-sitter-cuda",
|
||||
"rev": "cbce8aedc6fa35313a4cecd206196011a08a85c4",
|
||||
"date": "2024-08-22T22:57:54+02:00",
|
||||
"path": "/nix/store/4ygv7b9ap52kb03cv7mihsq86g6vgfpc-tree-sitter-cuda",
|
||||
"sha256": "12q2zpfll8n72yccxkqjh36cmmpj2fyivkq6fghzbs9kf4mvwy12",
|
||||
"hash": "sha256-Ini+K3Ez6fXhcwbPHb0T8tbKzIASz86YF8ciSt39Aos=",
|
||||
"rev": "4ec5afdf98041d137c25b555958a1f825c7c1272",
|
||||
"date": "2024-04-02T22:40:43+02:00",
|
||||
"path": "/nix/store/2n6dkgdvhfd34qa48b5824qbw1pc7899-tree-sitter-cuda",
|
||||
"sha256": "1n840xzsx56w3hys263f216ih901jh456yxdmm0i274ijwngn38h",
|
||||
"hash": "sha256-EA37LJeRHBFBra17UwiUASQYTRBuGKE9HNyUrn8HBNk=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/usernobody14/tree-sitter-dart",
|
||||
"rev": "9ac03bb2154316624fb4c41fe0f372a5f1597b43",
|
||||
"date": "2024-09-01T14:20:26-06:00",
|
||||
"path": "/nix/store/g3q5dd40gjm0iwf19afz3vz5amvr7dsg-tree-sitter-dart",
|
||||
"sha256": "0nn7in0qr23vjkyk7ynyaw3rlbisx8vsvwf2yqclshdm72qabd7i",
|
||||
"hash": "sha256-8bSlsDi1QU0Z9sLxrTfqOi6aB1fe+jP9lHuIjIGNx1o=",
|
||||
"rev": "ac0bb849ccd1a923963af47573b5e396736ff582",
|
||||
"date": "2024-04-28T11:52:00-06:00",
|
||||
"path": "/nix/store/7sfa8zsg3p14rm0dbgv030s86lk8fv3w-tree-sitter-dart",
|
||||
"sha256": "0vm0yd2km73cyl2dph5qwb1fbgjjambn9mi4k7jxh495wrmk8hn8",
|
||||
"hash": "sha256-yEI0a+YlEdjlmSTWZFdVUr7lwuK4wNsE9WycOkXzoG4=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/glehmann/tree-sitter-earthfile",
|
||||
"rev": "1d637f2002bb8b22d4c08d26ad2bfbc22916f3ce",
|
||||
"date": "2024-09-07T22:41:52+02:00",
|
||||
"path": "/nix/store/y2sjzjb5naajjzpshv4y1g38cala5sfw-tree-sitter-earthfile",
|
||||
"sha256": "1kzl8639pm3pxvkh2flmy5azzi7r48a1mirh2iqkvjc55fv30frb",
|
||||
"hash": "sha256-KzswtiuFyT1xFDDHGhQi+cT/VfGVOgHn7nfUm4ZB9M8=",
|
||||
"rev": "450546b6db9a37a178fd87aeda93a287301e9570",
|
||||
"date": "2024-05-16T21:54:01+02:00",
|
||||
"path": "/nix/store/9fsxiz65a2n0kyy7a10q9lqzhhdz1p6x-tree-sitter-earthfile",
|
||||
"sha256": "0vhj9x7zr102f363l9kpgb58py3n4c3q3fl1c3b2dh5dadks0r6h",
|
||||
"hash": "sha256-0GSgZ1OtwCbWYIG6gQcjdviLynp3JjrMcAKE/E9PEm4=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/elixir-lang/tree-sitter-elixir",
|
||||
"rev": "ac7b59b312ae5c8cc487d10366e11bda2393e31c",
|
||||
"date": "2024-09-06T23:39:25+07:00",
|
||||
"path": "/nix/store/nf8lwh6gamwzqnc7mvjy1mh2khx5ijcf-tree-sitter-elixir",
|
||||
"sha256": "1kciqsj1z8f5bq46jyqscwqa94hqcdwwclg0v0i4ggn6jyxkwq41",
|
||||
"hash": "sha256-gWA+u5fGvkci2OBRxnljGJKkMGcae2kIXsWhH6TGkc0=",
|
||||
"rev": "de690fa8a028f122af46d9d2685679fe5f2d7d60",
|
||||
"date": "2024-04-08T19:02:42+02:00",
|
||||
"path": "/nix/store/q46fy2kd4gvab4bpfv3zacg4qgkfc6dz-tree-sitter-elixir",
|
||||
"sha256": "03fg2qj0i3n1dx8abkngg4nxqwpz86m5nr7q70hp5jw5bxccxxkf",
|
||||
"hash": "sha256-bvbOWF+Fy3IhOPhkW6pB/3LcLXnPzqVQb8GOCCQWzw0=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-embedded-template",
|
||||
"rev": "62b0a6e45900a7dff7c37da95fec20a09968ba52",
|
||||
"date": "2024-09-02T02:11:42-04:00",
|
||||
"path": "/nix/store/skq9pzdng2gblx99v9mxw3y90qxzs3q6-tree-sitter-embedded-template",
|
||||
"sha256": "0sn821pbg3gay9v51i6r3xdwi985chzgn6php2svydy82ab2hiqp",
|
||||
"hash": "sha256-F0colhLIN7+1uPAa+z5kBaXIWx/ZxFB28uqNt24QyGo=",
|
||||
"rev": "38d5004a797298dc42c85e7706c5ceac46a3f29f",
|
||||
"date": "2024-05-05T21:28:26-04:00",
|
||||
"path": "/nix/store/i2kni0fn6yqgags7l329bbg3n45dc9ww-tree-sitter-embedded-template",
|
||||
"sha256": "178cvdmlvzq2c29n0x8aganqbx3vz6w9m90gwhk63qxa2rxw5wr0",
|
||||
"hash": "sha256-IPPCexaq42Em5A+kmrj5e/SFrXoKdWCTYAL/TWvbDJ0=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/stadelmanma/tree-sitter-fortran",
|
||||
"rev": "8f842945abefb76b9a68c0835619b37060b8f098",
|
||||
"date": "2024-08-27T18:09:38-04:00",
|
||||
"path": "/nix/store/j9q4x7llgyq4vc2pri7rqxjvl98anggl-tree-sitter-fortran",
|
||||
"sha256": "1x20nldx2vi113dsy44g1dmayi0cpnm2vlhq9blbycm0cwal0xgf",
|
||||
"hash": "sha256-7nVAFWegMr/oShjSLaq9DESvaguPEK/bCCFu0Ru1QPQ=",
|
||||
"rev": "f73d473e3530862dee7cbb38520f28824e7804f6",
|
||||
"date": "2023-08-30T10:25:35+01:00",
|
||||
"path": "/nix/store/mkvh0z39lc89c3bgd91asxjwwiwskyp8-tree-sitter-fortran",
|
||||
"sha256": "1nvxdrzkzs1hz0fki5g7a2h7did66jghaknfakqn92fa20pagl1b",
|
||||
"hash": "sha256-K9CnLhDKiWTxVM5OBZ80psV2oFDnlTgd+DDoP39ufds=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/alexlafroscia/tree-sitter-glimmer",
|
||||
"rev": "51970d4bb249d918dbd26289cc4208bee4068004",
|
||||
"date": "2024-08-20T13:58:19-04:00",
|
||||
"path": "/nix/store/ff20fkmpcslz5b9883gk7q6nlri8x6qd-tree-sitter-glimmer",
|
||||
"sha256": "135pf610rb5nppn5k5699z5azxa7zqvx17x6v5nrp7fdwsy0whg2",
|
||||
"hash": "sha256-4kEOvObNnZtt2aaf0Df+R/Wvyk/JlFnsvbasDIJxt4w=",
|
||||
"rev": "3e66b67efeba1a2001859f6e02d16e0bbdbf4a9b",
|
||||
"date": "2023-10-05T16:33:40-04:00",
|
||||
"path": "/nix/store/sizww81ylny2pnafn3d901qv15k3rlp2-tree-sitter-glimmer",
|
||||
"sha256": "0ggxs83jq59z6vk4bvr7scfscmak41lgz038pcwczpm3hwfhasjq",
|
||||
"hash": "sha256-WGoFHYej3s84u2iA/2ggU1WmHdMn70XmNj8VLAfS/T0=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/thehamsta/tree-sitter-glsl",
|
||||
"rev": "66aec57f7119c7e8e40665b723cd7af5594f15ee",
|
||||
"date": "2024-09-12T12:52:04+02:00",
|
||||
"path": "/nix/store/xzxngsr3nhs1586c47iwdx9k20yaansc-tree-sitter-glsl",
|
||||
"sha256": "0gp3bn31xz5rq52amx059r9sllk3749f1ajmbs1fkjb833f2kvqh",
|
||||
"hash": "sha256-EO8p3BhoyemCXlWq4BI5Y1KqU04F9KpEwbn8HoZd4z4=",
|
||||
"rev": "8c9fb41836dc202bbbcf0e2369f256055786dedb",
|
||||
"date": "2024-05-11T23:58:08+02:00",
|
||||
"path": "/nix/store/knbraa6ipp3gm9b2ja01zlk1i27pswp0-tree-sitter-glsl",
|
||||
"sha256": "1vpdfpznkh7p47wqya3bqqih2wn1nmyqx4jmyv05v88x5f138hv9",
|
||||
"hash": "sha256-aUM0gisdoV3A9lWSjn21wXIBI8ZrKI/5IffAaf917e4=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/camdencheek/tree-sitter-go-mod",
|
||||
"rev": "3b01edce2b9ea6766ca19328d1850e456fde3103",
|
||||
"date": "2024-09-11T15:20:34-06:00",
|
||||
"path": "/nix/store/waxmvqpiild2qbkqx7kmkc60g08822b3-tree-sitter-go-mod",
|
||||
"sha256": "1vbg4fn54a7lbwcrvjdx3nrwgw5y925chbbb7sd6kwms1434yyhb",
|
||||
"hash": "sha256-C3pPBgm68mmaPmstyIpIvvDHsx29yZ0ZX/QoUqwjb+0=",
|
||||
"rev": "bbe2fe3be4b87e06a613e685250f473d2267f430",
|
||||
"date": "2024-01-16T04:55:23-07:00",
|
||||
"path": "/nix/store/xi1fr4l79pnqaa7md7gk4nqvg4ccgyzy-tree-sitter-go-mod",
|
||||
"sha256": "1clw1wyjxiicdjav5g2b9m9q7vlg5k1iy1fqwmf2yc4fxrfnmyrq",
|
||||
"hash": "sha256-OPtqXe6OMC9c5dgFH8Msj+6DU01LvLKVbCzGLj0PnLI=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-haskell",
|
||||
"rev": "558b997049fddcb07fc513528189c57d6129a260",
|
||||
"date": "2024-09-02T05:58:07-04:00",
|
||||
"path": "/nix/store/gqvq3azd0g60ghzhbqj5ghqb8q8gsvai-tree-sitter-haskell",
|
||||
"sha256": "1jjknp2l8afggzxrp032998hw66r831069q4vy3i1hn9s4fw5y86",
|
||||
"hash": "sha256-BvnCHdHJwhCH3wQnA8JA2RgOUUpigJv7f88pRMW1U8o=",
|
||||
"rev": "a50070d5bb5bd5c1281740a6102ecf1f4b0c4f19",
|
||||
"date": "2024-05-05T18:23:47+02:00",
|
||||
"path": "/nix/store/knnf5zfxjwnml5cdbp3x6kjkw7q4nhsd-tree-sitter-haskell",
|
||||
"sha256": "0hi72f7d4y89i6zkzg9r2j16ykxcb4vh4gwaxg9hcqa95wpv9qw6",
|
||||
"hash": "sha256-huO0Ly9JYQbT64o/AjdZrE9vghQ5vT+/iQl50o4TJ0I=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/ntbbloodbath/tree-sitter-http",
|
||||
"rev": "b88cd0c7dba0128b8f28fcb25cca13eea0d193b3",
|
||||
"date": "2024-08-21T01:10:49+09:00",
|
||||
"path": "/nix/store/l6knlfkxvh3dnmc2asism5qr0xdsfna4-tree-sitter-http",
|
||||
"sha256": "0k6rkpjjzs3jxgwljya3rjnzz0cpi68bm1xfpar2kf71fydd03m6",
|
||||
"hash": "sha256-pg7QmnfhuCmyuq6HupCJl4H/rcxDeUn563LoL+Wd2Uw=",
|
||||
"rev": "b639716df0698940b53de81e6fcefa2b6cd30724",
|
||||
"date": "2024-03-16T17:35:45-04:00",
|
||||
"path": "/nix/store/ynn327dwmxxakcbfrpq94b7m6sl5301h-tree-sitter-http",
|
||||
"sha256": "0l2yzq0j3w20m9vy9z627jgnfylk1d8crldz3n8xmhisaxwl47ia",
|
||||
"hash": "sha256-Kh5CeVc6wtqRHb/RzFALk3pnnzzC/OR3qkDwIQH+XlA=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/sogaiu/tree-sitter-janet-simple",
|
||||
"rev": "12bfab7db8a5f5b1d774ef84b5831acd34936071",
|
||||
"date": "2024-08-27T15:31:21+09:00",
|
||||
"path": "/nix/store/v5rcba220xk49qj3ghh9ggdpfqc91snv-tree-sitter-janet-simple",
|
||||
"sha256": "05df573vih9p8nlqahlijgg66xr6rvzjd0g7n0qhdlzkcwd63p4x",
|
||||
"hash": "sha256-ndxhGmfz0wYxsOeBJv/OJndj3pORQoWpRTfBuMcprhU=",
|
||||
"rev": "25d0687433ed0ed8e320861c2c625711ce1716f9",
|
||||
"date": "2024-05-17T12:45:28+09:00",
|
||||
"path": "/nix/store/ffqfh3ggcszd5lnx4gx5d2wpilsv6qz5-tree-sitter-janet-simple",
|
||||
"sha256": "0xzqllz8gi2lb44y4hiqxk25p96yl7ysy8r6k1c11sv9gjf65ja4",
|
||||
"hash": "sha256-RMlinHxp6xBYmCYjr/2h3qRbxOw4QuIJWVTEhz6l+Hc=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-javascript",
|
||||
"rev": "b6f0624c1447bc209830b195999b78a56b10a579",
|
||||
"date": "2024-09-02T05:16:11-04:00",
|
||||
"path": "/nix/store/q6l4f361yzqcnsl29qhm1dcir75fk0hq-tree-sitter-javascript",
|
||||
"sha256": "03lyqswy7h9iw2mhjlsa7an3g76hqi074c06pvdjb57h637zisf5",
|
||||
"hash": "sha256-xen4zzDwlCXbvgYwckDE0Jw3rDpKUwmr4DHB47nGng4=",
|
||||
"rev": "e88537c2703546f3f0887dd3f16898e1749cdba5",
|
||||
"date": "2024-05-10T14:09:58-04:00",
|
||||
"path": "/nix/store/s29hw61sfkgxs4pixpnsjbfqi1w73f06-tree-sitter-javascript",
|
||||
"sha256": "0ly10ib6f7lj6l4za7pz8xz7pn4cjp7d5c56bf4n538zlgv136py",
|
||||
"hash": "sha256-/poR9qMfjWKJW6aw0s6VjNh7fkf/HvUJNZIeZ1YEwVM=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-jsdoc",
|
||||
"rev": "bc09606fc786ead131a301e4b7524888f2d5c517",
|
||||
"date": "2024-09-02T04:15:15-04:00",
|
||||
"path": "/nix/store/l1jmw9y271rl00y9lhjwscdmidl3mn31-tree-sitter-jsdoc",
|
||||
"sha256": "080dzr7547vsapxdd7vs4id3m9mfnzqfzjzkssgyb1vpcdmrhl5m",
|
||||
"hash": "sha256-tVCYa2N3h+Wf1vPL7/C3rqY6WiR6n9b6VXofUk7+DSA=",
|
||||
"rev": "49fde205b59a1d9792efc21ee0b6d50bbd35ff14",
|
||||
"date": "2024-05-05T20:47:41-04:00",
|
||||
"path": "/nix/store/7i5mj175rsgz6gsxji0hbchxw6mvvsjp-tree-sitter-jsdoc",
|
||||
"sha256": "030r6ksv6v0wnlb8yi22n0blls21cipzvgi4flnjllpm9vrsxxii",
|
||||
"hash": "sha256-Mfau8071UiotdSS+/W9kQWhKF7BCRI8WtRxss/U0GQw=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-json",
|
||||
"rev": "8bfdb43f47ad805bb1ce093203cfcbaa8ed2c571",
|
||||
"date": "2024-09-02T05:26:12-04:00",
|
||||
"path": "/nix/store/qcm8dvbv4d4i989b7c8rc11fnbfh9nr6-tree-sitter-json",
|
||||
"sha256": "0z9nq267cx0c6dpkq3hm24jcxv37l3lhpwabxpmmpmx2f758yjyc",
|
||||
"hash": "sha256-zEuPynGi11vr7UvxC+mgZ+zOJBEVDjxvMwx0dozANn0=",
|
||||
"rev": "94f5c527b2965465956c2000ed6134dd24daf2a7",
|
||||
"date": "2024-05-06T15:10:02-04:00",
|
||||
"path": "/nix/store/nl87jvkhqfwshind35dvh204bmjkdv1h-tree-sitter-json",
|
||||
"sha256": "14za39wy4cw0r6r2m5a1i1za9m2wcyrlmh6yi2zl15b86i3dkbyp",
|
||||
"hash": "sha256-16/ZRjRolUC/iN7ASrNnXNSkfohBlSqyyYAz4nka6pM=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/sourcegraph/tree-sitter-jsonnet",
|
||||
"rev": "ddd075f1939aed8147b7aa67f042eda3fce22790",
|
||||
"date": "2024-08-15T10:26:01+02:00",
|
||||
"path": "/nix/store/l4ypaa5lbid6qk21kb4b4x6vh6ki97rq-tree-sitter-jsonnet",
|
||||
"sha256": "1bfdjxp0h95d124bzlhlvc9b5q19cdj716aym41nyl6z5a992c9q",
|
||||
"hash": "sha256-ODGRkirfUG8DqV6ZcGRjKeCyEtsU0r+ICK0kCG6Xza0=",
|
||||
"rev": "d34615fa12cc1d1cfc1f1f1a80acc9db80ee4596",
|
||||
"date": "2023-08-15T11:57:41-04:00",
|
||||
"path": "/nix/store/4hf1f6klnr5wd4p1va1x5v8ndmcc7z7b-tree-sitter-jsonnet",
|
||||
"sha256": "0vw4k1hxq6dhy3ahh40h06k67h073ryxl7513cn81lb6sfgf6c4f",
|
||||
"hash": "sha256-jjDjntNm0YAsG6Ec2n0eB8BjpgEQEAjV8LAZ3GGYhG8=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/tree-sitter/tree-sitter-julia",
|
||||
"rev": "3520b57e418f734f582215181ecd926a6178c90f",
|
||||
"date": "2024-09-05T13:11:36-05:00",
|
||||
"path": "/nix/store/4zljgvbaih9ds4kcb52qk5r1si4dpy8m-tree-sitter-julia",
|
||||
"sha256": "0lp3js2dmmfv9bsgsjrxj4j1yaj47hmzrkhv07s9yc8cwq749yr0",
|
||||
"hash": "sha256-IPtEDuYMMZ/0ARvO/Cs8RCofJJE9S/30StvV2oSW41I=",
|
||||
"rev": "acd5ca12cc278df7960629c2429a096c7ac4bbea",
|
||||
"date": "2024-04-17T13:39:34-05:00",
|
||||
"path": "/nix/store/3cjbxyngm4mbki1mydjv5q34w16kfhgp-tree-sitter-julia",
|
||||
"sha256": "12dwy7ljhddg804jwkkzh6mn0mbjazihhsbcwn3gd5175qqr9lym",
|
||||
"hash": "sha256-1dOUMS4nlPaG5WxpCONXclVgq4F/Ti4JQK81KOnxvIk=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"url": "https://github.com/IndianBoy42/tree-sitter-just",
|
||||
"rev": "6648ac1c0cdadaec8ee8bcf9a4ca6ace5102cf21",
|
||||
"date": "2024-07-30T00:40:16-04:00",
|
||||
"path": "/nix/store/20pg64wfg1rrl33prc91z19gbpq0cai1-tree-sitter-just",
|
||||
"sha256": "1a5n6f6ig1qsrac46w5z6ib28kifhaqz23amhf79ws7yva3i4lhi",
|
||||
"hash": "sha256-EVISh9r+aJ6Og1UN8bGCLk4kVjS/cEOYyhqHF40ztqg=",
|
||||
"rev": "fd814fc6c579f68c2a642f5e0268cf69daae92d7",
|
||||
"date": "2024-05-02T02:56:00-04:00",
|
||||
"path": "/nix/store/4q0rpglj1sa6lay5i1fdnws2pyl8hh71-tree-sitter-just",
|
||||
"sha256": "09faimq5mhldc91r89707fsmdfjqg6dicc2ccr6q9qn5sy0drr6a",
|
||||
"hash": "sha256-yuTcgNfF4oRNZkwwFpt5WLpWtTvgJJRDYo3CWnCNyiU=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user