mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-21 22:43:01 +00:00
Merge master into haskell-updates
This commit is contained in:
commit
bb260f91c4
@ -64,7 +64,7 @@ let
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/irccloud/irccloud-desktop/releases/download/v${version}/IRCCloud-${version}-linux-x86_64.AppImage";
|
||||
sha256 = "sha256-/hMPvYdnVB1XjKgU2v47HnVvW4+uC3rhRjbucqin4iI=";
|
||||
hash = "sha256-/hMPvYdnVB1XjKgU2v47HnVvW4+uC3rhRjbucqin4iI=";
|
||||
};
|
||||
in appimageTools.wrapType2 {
|
||||
inherit pname version src;
|
||||
@ -100,7 +100,7 @@ let
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/irccloud/irccloud-desktop/releases/download/v${version}/IRCCloud-${version}-linux-x86_64.AppImage";
|
||||
sha256 = "sha256-/hMPvYdnVB1XjKgU2v47HnVvW4+uC3rhRjbucqin4iI=";
|
||||
hash = "sha256-/hMPvYdnVB1XjKgU2v47HnVvW4+uC3rhRjbucqin4iI=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extract {
|
||||
@ -141,7 +141,7 @@ let
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/irccloud/irccloud-desktop/releases/download/v${version}/IRCCloud-${version}-linux-x86_64.AppImage";
|
||||
sha256 = "sha256-/hMPvYdnVB1XjKgU2v47HnVvW4+uC3rhRjbucqin4iI=";
|
||||
hash = "sha256-/hMPvYdnVB1XjKgU2v47HnVvW4+uC3rhRjbucqin4iI=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extract {
|
||||
|
@ -17,6 +17,7 @@ ghc.section.md
|
||||
gnome.section.md
|
||||
haredo.section.md
|
||||
installShellFiles.section.md
|
||||
just.section.md
|
||||
libiconv.section.md
|
||||
libxml2.section.md
|
||||
meson.section.md
|
||||
|
23
doc/hooks/just.section.md
Normal file
23
doc/hooks/just.section.md
Normal file
@ -0,0 +1,23 @@
|
||||
# `just` {#just-hook}
|
||||
|
||||
This setup hook attempts to use [the `just` command runner](https://just.systems/man/en/) to build, check, and install the package. The hook overrides `buildPhase`, `checkPhase`, and `installPhase` by default.
|
||||
|
||||
[]{#just-hook-justFlags} The `justFlags` variable can be set to a list of strings to add additional flags passed to all invocations of `just`.
|
||||
|
||||
## `buildPhase` {#just-hook-buildPhase}
|
||||
|
||||
This phase attempts to invoke `just` with [the default recipe](https://just.systems/man/en/chapter_23.html).
|
||||
|
||||
[]{#just-hook-dontUseJustBuild} This behavior can be disabled by setting `dontUseJustBuild` to `true`.
|
||||
|
||||
## `checkPhase` {#just-hook-checkPhase}
|
||||
|
||||
This phase attempts to invoke the `just test` recipe, if it is available. This can be overrided by setting `checkTarget` to a string.
|
||||
|
||||
[]{#just-hook-dontUseJustCheck} This behavior can be disabled by setting `dontUseJustCheck` to `true`.
|
||||
|
||||
## `installPhase` {#just-hook-installPhase}
|
||||
|
||||
This phase attempts to invoke the `just install` recipe.
|
||||
|
||||
[]{#just-hook-dontUseJustInstall} This behavior can be disabled by setting `dontUseJustInstall` to `true`.
|
@ -23,7 +23,7 @@ The recommended way of defining a derivation for a Coq library, is to use the `c
|
||||
* if it is a string of the form `owner:branch` then it tries to download the `branch` of owner `owner` for a project of the same name using the same vcs, and the `version` attribute of the resulting derivation is set to `"dev"`, additionally if the owner is not provided (i.e. if the `owner:` prefix is missing), it defaults to the original owner of the package (see below),
|
||||
* if it is a string of the form `"#N"`, and the domain is github, then it tries to download the current head of the pull request `#N` from github,
|
||||
* `defaultVersion` (optional). Coq libraries may be compatible with some specific versions of Coq only. The `defaultVersion` attribute is used when no `version` is provided (or if `version = null`) to select the version of the library to use by default, depending on the context. This selection will mainly depend on a `coq` version number but also possibly on other packages versions (e.g. `mathcomp`). If its value ends up to be `null`, the package is marked for removal in end-user `coqPackages` attribute set.
|
||||
* `release` (optional, defaults to `{}`), lists all the known releases of the library and for each of them provides an attribute set with at least a `sha256` attribute (you may put the empty string `""` in order to automatically insert a fake sha256, this will trigger an error which will allow you to find the correct sha256), each attribute set of the list of releases also takes optional overloading arguments for the fetcher as below (i.e.`domain`, `owner`, `repo`, `rev` assuming the default fetcher is used) and optional overrides for the result of the fetcher (i.e. `version` and `src`).
|
||||
* `release` (optional, defaults to `{}`), lists all the known releases of the library and for each of them provides an attribute set with at least a `hash` attribute (you may put the empty string `""` in order to automatically insert a fake hash, this will trigger an error which will allow you to find the correct hash), each attribute set of the list of releases also takes optional overloading arguments for the fetcher as below (i.e.`domain`, `owner`, `repo`, `rev` assuming the default fetcher is used) and optional overrides for the result of the fetcher (i.e. `version` and `src`).
|
||||
* `fetcher` (optional, defaults to a generic fetching mechanism supporting github or gitlab based infrastructures), is a function that takes at least an `owner`, a `repo`, a `rev`, and a `hash` and returns an attribute set with a `version` and `src`.
|
||||
* `repo` (optional, defaults to the value of `pname`),
|
||||
* `owner` (optional, defaults to `"coq-community"`).
|
||||
@ -69,15 +69,15 @@ mkCoqDerivation {
|
||||
{ cases = [ (isEq "8.6") (range "1.6" "1.7") ]; out = "1.1"; }
|
||||
] null;
|
||||
release = {
|
||||
"1.5.2".sha256 = "15aspf3jfykp1xgsxf8knqkxv8aav2p39c2fyirw7pwsfbsv2c4s";
|
||||
"1.5.1".sha256 = "13nlfm2wqripaq671gakz5mn4r0xwm0646araxv0nh455p9ndjs3";
|
||||
"1.5.0".sha256 = "064rvc0x5g7y1a0nip6ic91vzmq52alf6in2bc2dmss6dmzv90hw";
|
||||
"1.5.0".rev = "1.5";
|
||||
"1.4".sha256 = "0vnkirs8iqsv8s59yx1fvg1nkwnzydl42z3scya1xp1b48qkgn0p";
|
||||
"1.3".sha256 = "0l3vi5n094nx3qmy66hsv867fnqm196r8v605kpk24gl0aa57wh4";
|
||||
"1.2".sha256 = "1mh1w339dslgv4f810xr1b8v2w7rpx6fgk9pz96q0fyq49fw2xcq";
|
||||
"1.1".sha256 = "1q8alsm89wkc0lhcvxlyn0pd8rbl2nnxg81zyrabpz610qqjqc3s";
|
||||
"1.0".sha256 = "1qmbxp1h81cy3imh627pznmng0kvv37k4hrwi2faa101s6bcx55m";
|
||||
"1.5.2".hash = "sha256-mjCx9XKa38Nz9E6wNK7YSqHdJ7YTua5fD3d6J4e7WpU=";
|
||||
"1.5.1".hash = "sha256-Q8tm0y2FQAt2V1kZYkDlHWRia/lTvXAMVjdmzEV11I4=";
|
||||
"1.5.0".hash = "sha256-HIK0f21G69oEW8JG46gSBde/Q2LR3GiBCv680gHbmRg=";
|
||||
"1.5.0".rev = "1.5";
|
||||
"1.4".hash = "sha256-F9g3MSIr3B6UZ3p8QWjz3/Jpw9sudJ+KRlvjiHSO024=";
|
||||
"1.3".hash = "sha256-BPJTlAL0ETHvLMBslE0KFVt3DNoaGuMrHt2SBGyJe1A=";
|
||||
"1.2".hash = "sha256-mHXBXSLYO4BN+jfN50y/+XCx0Qq5g4Ac2Y/qlsbgAdY=";
|
||||
"1.1".hash = "sha256-ejAsMQbB/LtU9j+g160VdGXULrCe9s0gBWzyhKqmCuE=";
|
||||
"1.0".hash = "sha256-tZTOltEBBKWciDxDMs/Ye4Jnq/33CANrHJ4FBMPtq+I=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs =
|
||||
@ -126,7 +126,7 @@ For example, here is how you could locally add a new release of the `multinomial
|
||||
coqPackages.lib.overrideCoqDerivation
|
||||
{
|
||||
defaultVersion = "2.0";
|
||||
release."2.0".sha256 = "1lq8x86vd3vqqh2yq6hvyagpnhfq5wmk5pg2z0xq7b7dbbbhyfkk";
|
||||
release."2.0".hash = "sha256-czoP11rtrIM7+OLdMisv2EF7n/IbGuwFxHiPtg3qCNM=";
|
||||
}
|
||||
coqPackages.multinomials
|
||||
```
|
||||
|
@ -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`.)
|
||||
|
||||
|
@ -219,10 +219,10 @@ stdenv.mkDerivation {
|
||||
|
||||
# don't do any fixup
|
||||
dontFixup = true;
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashAlgo = null;
|
||||
outputHashMode = "recursive";
|
||||
# replace this with the correct SHA256
|
||||
outputHash = lib.fakeSha256;
|
||||
outputHash = lib.fakeHash;
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -52,7 +52,7 @@ pkgs.linuxPackages_custom {
|
||||
version = "6.1.55";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-${version}.tar.xz";
|
||||
hash = "sha256:1h0mzx52q9pvdv7rhnvb8g68i7bnlc9rf8gy9qn4alsxq4g28zm8";
|
||||
hash = "sha256-qH4kHsFdU0UsTv4hlxOjdp2IzENrW5jPbvsmLEr/FcA=";
|
||||
};
|
||||
configfile = ./path_to_config_file;
|
||||
}
|
||||
@ -67,7 +67,7 @@ pkgs.linuxPackages_custom {
|
||||
modDirVersion = "6.1.55";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-${modDirVersion}.tar.xz";
|
||||
hash = "sha256:1h0mzx52q9pvdv7rhnvb8g68i7bnlc9rf8gy9qn4alsxq4g28zm8";
|
||||
hash = "sha256-qH4kHsFdU0UsTv4hlxOjdp2IzENrW5jPbvsmLEr/FcA=";
|
||||
};
|
||||
configfile = ./path_to_config_file;
|
||||
}
|
||||
|
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 ../.;
|
||||
|
@ -15529,6 +15529,12 @@
|
||||
githubId = 39134647;
|
||||
name = "Oliver Koss";
|
||||
};
|
||||
oliver-ni = {
|
||||
email = "nixos@oliver.ni";
|
||||
github = "oliver-ni";
|
||||
githubId = 20295134;
|
||||
name = "Oliver Ni";
|
||||
};
|
||||
ollieB = {
|
||||
github = "oliverbunting";
|
||||
githubId = 1237862;
|
||||
@ -20739,7 +20745,7 @@
|
||||
};
|
||||
tfc = {
|
||||
email = "jacek@galowicz.de";
|
||||
matrix = "@jonge:ukvly.org";
|
||||
matrix = "@tfc:matrix.org";
|
||||
github = "tfc";
|
||||
githubId = 29044;
|
||||
name = "Jacek Galowicz";
|
||||
|
@ -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:
|
||||
|
@ -5,12 +5,13 @@ configuration of your machine. Whenever you've [changed
|
||||
something](#ch-configuration) in that file, you should do
|
||||
|
||||
```ShellSession
|
||||
# nixos-rebuild switch
|
||||
$ nixos-rebuild switch --use-remote-sudo
|
||||
```
|
||||
|
||||
to build the new configuration, make it the default configuration for
|
||||
booting, and try to realise the configuration in the running system
|
||||
(e.g., by restarting system services).
|
||||
to build the new configuration as your current user, and as the root user,
|
||||
make it the default configuration for booting. `switch` will also try to
|
||||
realise the configuration in the running system (e.g., by restarting system
|
||||
services).
|
||||
|
||||
::: {.warning}
|
||||
This command doesn't start/stop [user services](#opt-systemd.user.services)
|
||||
@ -19,14 +20,23 @@ user services.
|
||||
:::
|
||||
|
||||
::: {.warning}
|
||||
These commands must be executed as root, so you should either run them
|
||||
from a root shell or by prefixing them with `sudo -i`.
|
||||
Applying a configuration is an action that must be done by the root user, so the
|
||||
`switch`, `boot` and `test` commands should be ran with the `--use-remote-sudo`
|
||||
flag. Despite its odd name, this flag runs the activation script with elevated
|
||||
permissions, regardless of whether or not the target system is remote, without
|
||||
affecting the other stages of the `nixos-rebuild` call. This allows unprivileged
|
||||
users to rebuild the system and only elevate their permissions when necessary.
|
||||
|
||||
Alternatively, one can run the whole command as root while preserving user
|
||||
environment variables by prefixing the command with `sudo -E`. However, this
|
||||
method may create root-owned files in `$HOME/.cache` if Nix decides to use the
|
||||
cache during evaluation.
|
||||
:::
|
||||
|
||||
You can also do
|
||||
|
||||
```ShellSession
|
||||
# nixos-rebuild test
|
||||
$ nixos-rebuild test --use-remote-sudo
|
||||
```
|
||||
|
||||
to build the configuration and switch the running system to it, but
|
||||
@ -37,7 +47,7 @@ configuration.
|
||||
There is also
|
||||
|
||||
```ShellSession
|
||||
# nixos-rebuild boot
|
||||
$ nixos-rebuild boot --use-remote-sudo
|
||||
```
|
||||
|
||||
to build the configuration and make it the boot default, but not switch
|
||||
@ -47,7 +57,7 @@ You can make your configuration show up in a different submenu of the
|
||||
GRUB 2 boot screen by giving it a different *profile name*, e.g.
|
||||
|
||||
```ShellSession
|
||||
# nixos-rebuild switch -p test
|
||||
$ nixos-rebuild switch -p test --use-remote-sudo
|
||||
```
|
||||
|
||||
which causes the new configuration (and previous ones created using
|
||||
@ -58,7 +68,7 @@ configurations.
|
||||
A repl, or read-eval-print loop, is also available. You can inspect your configuration and use the Nix language with
|
||||
|
||||
```ShellSession
|
||||
# nixos-rebuild repl
|
||||
$ nixos-rebuild repl
|
||||
```
|
||||
|
||||
Your configuration is loaded into the `config` variable. Use tab for autocompletion, use the `:r` command to reload the configuration files. See `:?` or [`nix repl` in the Nix manual](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-repl.html) to learn more.
|
||||
|
@ -8,6 +8,14 @@
|
||||
Starting with release 25.05, the minimum supported version will be macOS Big Sur 11, and we cannot guarantee that packages will continue to work on older versions of macOS.
|
||||
Users on old macOS versions should consider upgrading to a supported version (potentially using [OpenCore Legacy Patcher](https://dortania.github.io/OpenCore-Legacy-Patcher/) for old hardware) or installing NixOS.
|
||||
If neither of those options are viable and you require new versions of software, [MacPorts](https://www.macports.org/) supports back to Mac OS X Snow Leopard 10.6.
|
||||
- Nix was updated to 2.24, which brings a lot of improvements and fixes. See the release notes for
|
||||
[2.19](https://nix.dev/manual/nix/latest/release-notes/rl-2.19),
|
||||
[2.20](https://nix.dev/manual/nix/latest/release-notes/rl-2.20),
|
||||
[2.21](https://nix.dev/manual/nix/latest/release-notes/rl-2.21),
|
||||
[2.22](https://nix.dev/manual/nix/latest/release-notes/rl-2.22),
|
||||
[2.23](https://nix.dev/manual/nix/latest/release-notes/rl-2.23),
|
||||
[2.24](https://nix.dev/manual/nix/latest/release-notes/rl-2.24).
|
||||
Notable changes include improvements to Git fetching, documentation comment support in `nix-repl> :doc`, as well as many quality of life improvements.
|
||||
|
||||
- Convenience options for `amdgpu`, open source driver for Radeon cards, is now available under `hardware.amdgpu`.
|
||||
|
||||
|
@ -10,13 +10,15 @@ let
|
||||
|
||||
cfg = config.hardware.nvidia;
|
||||
|
||||
useOpenModules = cfg.open == true;
|
||||
|
||||
pCfg = cfg.prime;
|
||||
syncCfg = pCfg.sync;
|
||||
offloadCfg = pCfg.offload;
|
||||
reverseSyncCfg = pCfg.reverseSync;
|
||||
primeEnabled = syncCfg.enable || reverseSyncCfg.enable || offloadCfg.enable;
|
||||
busIDType = lib.types.strMatching "([[:print:]]+[\:\@][0-9]{1,3}\:[0-9]{1,2}\:[0-9])?";
|
||||
ibtSupport = cfg.open || (nvidia_x11.ibtSupport or false);
|
||||
ibtSupport = useOpenModules || (nvidia_x11.ibtSupport or false);
|
||||
settingsFormat = pkgs.formats.keyValue { };
|
||||
in
|
||||
{
|
||||
@ -257,17 +259,19 @@ in
|
||||
open = lib.mkOption {
|
||||
example = true;
|
||||
description = "Whether to enable the open source NVIDIA kernel module.";
|
||||
type = lib.types.bool;
|
||||
type = lib.types.nullOr lib.types.bool;
|
||||
default = if lib.versionOlder nvidia_x11.version "560" then false else null;
|
||||
defaultText = lib.literalExpression ''
|
||||
lib.mkIf (lib.versionOlder config.hardware.nvidia.package.version "560") false
|
||||
if lib.versionOlder config.hardware.nvidia.package.version "560" then false else null
|
||||
'';
|
||||
};
|
||||
|
||||
gsp.enable = lib.mkEnableOption ''
|
||||
the GPU System Processor (GSP) on the video card
|
||||
'' // {
|
||||
default = useOpenModules || lib.versionAtLeast nvidia_x11.version "555";
|
||||
defaultText = lib.literalExpression ''
|
||||
config.hardware.nvidia.open || lib.versionAtLeast config.hardware.nvidia.package.version "555"
|
||||
config.hardware.nvidia.open == true || lib.versionAtLeast config.hardware.nvidia.package.version "555"
|
||||
'';
|
||||
};
|
||||
};
|
||||
@ -287,6 +291,13 @@ in
|
||||
assertion = !(nvidiaEnabled && cfg.datacenter.enable);
|
||||
message = "You cannot configure both X11 and Data Center drivers at the same time.";
|
||||
}
|
||||
{
|
||||
assertion = cfg.open != null;
|
||||
message = ''
|
||||
You must configure `hardware.nvidia.open` on NVIDIA driver versions >= 560.
|
||||
It is suggested to use the open source kernel modules on Turing or later GPUs (RTX series, GTX 16xx), and the closed source modules otherwise.
|
||||
'';
|
||||
}
|
||||
];
|
||||
boot = {
|
||||
blacklistedKernelModules = [
|
||||
@ -318,9 +329,6 @@ in
|
||||
extraPackages32 = [ nvidia_x11.lib32 ];
|
||||
};
|
||||
environment.systemPackages = [ nvidia_x11.bin ];
|
||||
|
||||
hardware.nvidia.open = lib.mkIf (lib.versionOlder nvidia_x11.version "560") (lib.mkDefault false);
|
||||
hardware.nvidia.gsp.enable = lib.mkDefault (cfg.open || lib.versionAtLeast nvidia_x11.version "555");
|
||||
})
|
||||
|
||||
# X11
|
||||
@ -384,12 +392,12 @@ in
|
||||
}
|
||||
|
||||
{
|
||||
assertion = cfg.open -> (cfg.package ? open);
|
||||
assertion = useOpenModules -> (cfg.package ? open);
|
||||
message = "This version of NVIDIA driver does not provide a corresponding opensource kernel driver.";
|
||||
}
|
||||
|
||||
{
|
||||
assertion = cfg.open -> cfg.gsp.enable;
|
||||
assertion = useOpenModules -> cfg.gsp.enable;
|
||||
message = "The GSP cannot be disabled when using the opensource kernel driver.";
|
||||
}
|
||||
|
||||
@ -592,7 +600,7 @@ in
|
||||
"L+ /run/nvidia-docker/extras/bin/nvidia-persistenced - - - - ${nvidia_x11.persistenced}/origBin/nvidia-persistenced";
|
||||
|
||||
boot = {
|
||||
extraModulePackages = if cfg.open then [ nvidia_x11.open ] else [ nvidia_x11.bin ];
|
||||
extraModulePackages = if useOpenModules then [ nvidia_x11.open ] else [ nvidia_x11.bin ];
|
||||
# nvidia-uvm is required by CUDA applications.
|
||||
kernelModules =
|
||||
lib.optionals config.services.xserver.enable [
|
||||
@ -603,14 +611,14 @@ in
|
||||
# With the open driver, nvidia-uvm does not automatically load as
|
||||
# a softdep of the nvidia module, so we explicitly load it for now.
|
||||
# See https://github.com/NixOS/nixpkgs/issues/334180
|
||||
++ lib.optionals (config.services.xserver.enable && cfg.open) [ "nvidia_uvm" ];
|
||||
++ lib.optionals (config.services.xserver.enable && useOpenModules) [ "nvidia_uvm" ];
|
||||
|
||||
# If requested enable modesetting via kernel parameters.
|
||||
kernelParams =
|
||||
lib.optional (offloadCfg.enable || cfg.modesetting.enable) "nvidia-drm.modeset=1"
|
||||
++ lib.optional ((offloadCfg.enable || cfg.modesetting.enable) && lib.versionAtLeast nvidia_x11.version "545") "nvidia-drm.fbdev=1"
|
||||
++ lib.optional cfg.powerManagement.enable "nvidia.NVreg_PreserveVideoMemoryAllocations=1"
|
||||
++ lib.optional cfg.open "nvidia.NVreg_OpenRmEnableUnsupportedGpus=1"
|
||||
++ lib.optional useOpenModules "nvidia.NVreg_OpenRmEnableUnsupportedGpus=1"
|
||||
++ lib.optional (config.boot.kernelPackages.kernel.kernelAtLeast "6.2" && !ibtSupport) "ibt=off";
|
||||
|
||||
# enable finegrained power management
|
||||
|
@ -1,7 +1,8 @@
|
||||
{
|
||||
x86_64-linux = "/nix/store/f409bhlpp0xkzvdz95qr2yvfjfi8r9jc-nix-2.18.5";
|
||||
i686-linux = "/nix/store/ra39jzrxq3bcpf55aahwv5037akvylf5-nix-2.18.5";
|
||||
aarch64-linux = "/nix/store/xiw8a4jbnw18svgdb04hyqzg5bsjspqf-nix-2.18.5";
|
||||
x86_64-darwin = "/nix/store/k2gzx7i90x3h2c8g6xdi1jkwbl6ic895-nix-2.18.5";
|
||||
aarch64-darwin = "/nix/store/rqwymbndaqxma6p8s5brcl9k32n5xx54-nix-2.18.5";
|
||||
x86_64-linux = "/nix/store/fmfy9zigxns8f1wfb4v2arf1jmfdjpjc-nix-2.24.6";
|
||||
i686-linux = "/nix/store/bl95c09pcihf2fdqpzjyjk4bdq0bsizm-nix-2.24.6";
|
||||
aarch64-linux = "/nix/store/2sbzgmvas19iq3nhg8xbnd8k0khahk34-nix-2.24.6";
|
||||
riscv64-linux = "/nix/store/7yy1x9sx83wm77mjawd953d6a6wb669q-nix-riscv64-unknown-linux-gnu-2.24.6";
|
||||
x86_64-darwin = "/nix/store/vs6bbxkwxqr828q8rj1xlbmsbnx1ry6z-nix-2.24.6";
|
||||
aarch64-darwin = "/nix/store/d88r5b1qv1fvz2j9qndz8sr31mqgz45x-nix-2.24.6";
|
||||
}
|
||||
|
@ -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`
|
||||
|
@ -96,6 +96,7 @@ in
|
||||
security.pam.services.ly = {
|
||||
startSession = true;
|
||||
unixAuth = true;
|
||||
enableGnomeKeyring = lib.mkDefault config.services.gnome.gnome-keyring.enable;
|
||||
};
|
||||
|
||||
environment = {
|
||||
|
@ -235,7 +235,7 @@ in {
|
||||
};
|
||||
|
||||
channel = mkOption {
|
||||
default = 7;
|
||||
default = 0;
|
||||
example = 11;
|
||||
type = types.int;
|
||||
description = ''
|
||||
|
@ -318,10 +318,21 @@ let
|
||||
lib.cli.toGNUCommandLineShell { } (
|
||||
lib.recursiveUpdate {
|
||||
restrict-to = map hostPortToString restrictTo;
|
||||
tls-certificate =
|
||||
if useACMEHost != null then "${certConfig.directory}/fullchain.pem" else "${tlsCertificate}";
|
||||
tls-private-key = if useACMEHost != null then "${certConfig.directory}/key.pem" else "${tlsKey}";
|
||||
websocket-ping-frequency-sec = websocketPingInterval;
|
||||
tls-certificate =
|
||||
if !enableHTTPS then
|
||||
null
|
||||
else if useACMEHost != null then
|
||||
"${certConfig.directory}/fullchain.pem"
|
||||
else
|
||||
"${tlsCertificate}";
|
||||
tls-private-key =
|
||||
if !enableHTTPS then
|
||||
null
|
||||
else if useACMEHost != null then
|
||||
"${certConfig.directory}/key.pem"
|
||||
else
|
||||
"${tlsKey}";
|
||||
} extraArgs
|
||||
)
|
||||
} \
|
||||
@ -475,6 +486,7 @@ in
|
||||
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
alyaeanyx
|
||||
raylas
|
||||
rvdp
|
||||
neverbehave
|
||||
];
|
||||
|
@ -144,6 +144,42 @@ Auto updates for Nextcloud apps can be enabled using
|
||||
To work around that, please make sure that all directories in question
|
||||
are owned by `nextcloud:nextcloud`.
|
||||
|
||||
- **`Failed to open stream: No such file or directory` after deploys**
|
||||
|
||||
Symptoms are errors like this after a deployment that disappear after
|
||||
a few minutes:
|
||||
|
||||
```
|
||||
Warning: file_get_contents(/run/secrets/nextcloud_db_password): Failed to open stream: No such file or directory in /nix/store/lqw657xbh6h67ccv9cgv104qhcs1i2vw-nextcloud-config.php on line 11
|
||||
|
||||
Warning: http_response_code(): Cannot set response code - headers already sent (output started at /nix/store/lqw657xbh6h67ccv9cgv104qhcs1i2vw-nextcloud-config.php:11) in /nix/store/ikxpaq7kjdhpr4w7cgl1n28kc2gvlhg6-nextcloud-29.0.7/lib/base.php on line 639
|
||||
Cannot decode /run/secrets/nextcloud_secrets, because: Syntax error
|
||||
```
|
||||
|
||||
This can happen if [](#opt-services.nextcloud.secretFile) or
|
||||
[](#opt-services.nextcloud.config.dbpassFile) are managed by
|
||||
[sops-nix](https://github.com/Mic92/sops-nix/).
|
||||
|
||||
Here, `/run/secrets/nextcloud_secrets` is a symlink to
|
||||
`/run/secrets.d/N/nextcloud_secrets`. The `N` will be incremented
|
||||
when the sops-nix activation script runs, i.e.
|
||||
`/run/secrets.d/N` doesn't exist anymore after a deploy,
|
||||
only `/run/secrets.d/N+1`.
|
||||
|
||||
PHP maintains a [cache for `realpath`](https://www.php.net/manual/en/ini.core.php#ini.realpath-cache-size)
|
||||
that still resolves to the old path which is causing
|
||||
the `No such file or directory` error. Interestingly,
|
||||
the cache isn't used for `file_exists` which is why this warning
|
||||
comes instead of the error from `nix_read_secret` in
|
||||
`override.config.php`.
|
||||
|
||||
One option to work around this is to turn off the cache by setting
|
||||
the cache size to zero:
|
||||
|
||||
```nix
|
||||
services.nextcloud.phpOptions."realpath_cache_size" = "0";
|
||||
```
|
||||
|
||||
## Using an alternative webserver as reverse-proxy (e.g. `httpd`) {#module-services-nextcloud-httpd}
|
||||
|
||||
By default, `nginx` is used as reverse-proxy for `nextcloud`.
|
||||
|
@ -35,7 +35,7 @@ let
|
||||
machine.wait_for_text('Your Subscription list is currently empty')
|
||||
machine.screenshot("main.png")
|
||||
machine.send_key("ctrl-comma")
|
||||
machine.wait_for_text('General Settings', timeout=30)
|
||||
machine.wait_for_text('Data Settings', timeout=60)
|
||||
machine.screenshot("preferences.png")
|
||||
'';
|
||||
});
|
||||
|
@ -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")
|
||||
'';
|
||||
})
|
||||
|
@ -17,13 +17,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "mympd";
|
||||
version = "17.0.3";
|
||||
version = "17.0.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jcorporation";
|
||||
repo = "myMPD";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-DtGNwxlXYCorD/c61nqtcocMqt4IG+LuTAdwbKlvp/Y=";
|
||||
sha256 = "sha256-mtAMvaC8W9/o+ccHyvJRZ5Stq82m6IgXk/jOcxaGSXA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -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;
|
||||
|
||||
|
@ -44,13 +44,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "strawberry";
|
||||
version = "1.1.1";
|
||||
version = "1.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jonaski";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-REoki+8rneQ+4rL9rC7Md5Hrj6ftd7RePEF1fK4FnKY=";
|
||||
hash = "sha256-86AMmp8R9/NibTsMFTTFcMeIqZ5x8din9RcBvhGO9xg=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -13,12 +13,12 @@ let
|
||||
sha256Hash = "sha256-dFFogg6YmpCF/4QtR85UFAfbCd97irIHcPbqieQabpI=";
|
||||
};
|
||||
betaVersion = {
|
||||
version = "2024.2.1.6"; # "Android Studio Ladybug | 2024.2.1 Beta 1"
|
||||
sha256Hash = "sha256-o/otfwZu+MUy9tbLt1iZWmBPB7YVx5aMjA1KcIvMD3U=";
|
||||
version = "2024.2.1.7"; # "Android Studio Ladybug | 2024.2.1 Beta 2"
|
||||
sha256Hash = "sha256-YNUtRsKwXHfb7McJmTTT39/wW1rHjzw4kFQRwa12kJE=";
|
||||
};
|
||||
latestVersion = {
|
||||
version = "2024.2.1.5"; # "Android Studio Ladybug | 2024.2.1 Canary 9"
|
||||
sha256Hash = "sha256-0F07jcsutarm464ahgo9hDh1jHo2aDEpIz5r9bxmNZw=";
|
||||
version = "2024.2.2.2"; # "Android Studio Ladybug Feature Drop | 2024.2.2 Canary 2"
|
||||
sha256Hash = "sha256-TSjKJ4gAqZlycMP1or8MV+Il+KOQJL/F1kUKQr6/rSw=";
|
||||
};
|
||||
in {
|
||||
# Attributes are named by their corresponding release channels
|
||||
|
@ -2,11 +2,8 @@
|
||||
|
||||
lib.makeScope pkgs.newScope (self:
|
||||
let
|
||||
gconf = pkgs.gnome2.GConf;
|
||||
inherit (self) callPackage;
|
||||
inheritedArgs = {
|
||||
inherit gconf;
|
||||
|
||||
inherit (pkgs.darwin) sigtool;
|
||||
inherit (pkgs.darwin.apple_sdk.frameworks)
|
||||
Accelerate AppKit Carbon Cocoa GSS ImageCaptureCore ImageIO IOKit OSAKit
|
||||
|
@ -16,7 +16,6 @@
|
||||
, dbus
|
||||
, emacsPackagesFor
|
||||
, fetchpatch
|
||||
, gconf
|
||||
, gettext
|
||||
, giflib
|
||||
, glib-networking
|
||||
@ -73,7 +72,6 @@
|
||||
, withDbus ? stdenv.isLinux
|
||||
, withGTK2 ? false
|
||||
, withGTK3 ? withPgtk && !noGui
|
||||
, withGconf ? false
|
||||
, withGlibNetworking ? withPgtk || withGTK3 || (withX && withXwidgets)
|
||||
, withGpm ? stdenv.isLinux
|
||||
, withImageMagick ? lib.versionOlder version "27" && (withX || withNS)
|
||||
@ -126,7 +124,6 @@ assert withAcl -> stdenv.isLinux;
|
||||
assert withAlsaLib -> stdenv.isLinux;
|
||||
assert withGTK2 -> !(withGTK3 || withPgtk);
|
||||
assert withGTK3 -> !withGTK2 || withPgtk;
|
||||
assert withGconf -> withX;
|
||||
assert withGpm -> stdenv.isLinux;
|
||||
assert withNS -> stdenv.isDarwin && !(withX || variant == "macport");
|
||||
assert withPgtk -> withGTK3 && !withX;
|
||||
@ -224,8 +221,6 @@ mkDerivation (finalAttrs: {
|
||||
jansson
|
||||
libxml2
|
||||
ncurses
|
||||
] ++ lib.optionals withGconf [
|
||||
gconf
|
||||
] ++ lib.optionals withAcl [
|
||||
acl
|
||||
] ++ lib.optionals withAlsaLib [
|
||||
|
@ -55,6 +55,10 @@
|
||||
"date": "2021-11-28",
|
||||
"new": "orgmode"
|
||||
},
|
||||
"render-markdown": {
|
||||
"date": "2024-09-16",
|
||||
"new": "render-markdown-nvim"
|
||||
},
|
||||
"sql-nvim": {
|
||||
"date": "2021-09-03",
|
||||
"new": "sqlite-lua"
|
||||
|
@ -10198,12 +10198,12 @@ final: prev:
|
||||
|
||||
sg-nvim = buildVimPlugin {
|
||||
pname = "sg.nvim";
|
||||
version = "2024-09-09";
|
||||
version = "2024-09-17";
|
||||
src = fetchFromGitHub {
|
||||
owner = "sourcegraph";
|
||||
repo = "sg.nvim";
|
||||
rev = "a7e060428897d1f37f585cedc355d34e0b8e2a58";
|
||||
sha256 = "1n8rg39gx2mcfw0fgyqnawg2b5cky8zchxigzmyng6n134fg5s42";
|
||||
rev = "76c97d91f8d8818a4fcf14817fadd98412aa44c8";
|
||||
sha256 = "sha256-MxFr59crdc9WlYwydM1dI1NU+5qB06xh+hFnNUuBc4c=";
|
||||
};
|
||||
meta.homepage = "https://github.com/sourcegraph/sg.nvim/";
|
||||
};
|
||||
@ -11765,6 +11765,18 @@ final: prev:
|
||||
meta.homepage = "https://github.com/jgdavey/tslime.vim/";
|
||||
};
|
||||
|
||||
tssorter-nvim = buildVimPlugin {
|
||||
pname = "tssorter.nvim";
|
||||
version = "2024-08-16";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mtrajano";
|
||||
repo = "tssorter.nvim";
|
||||
rev = "74fa4102cb3272dcc8fd5696fd3240358f19c090";
|
||||
sha256 = "1y64w5aggh0k5xf0y8xsjbkzinn8gx2qhhqlww89k43dblq07pa4";
|
||||
};
|
||||
meta.homepage = "https://github.com/mtrajano/tssorter.nvim/";
|
||||
};
|
||||
|
||||
tsuquyomi = buildVimPlugin {
|
||||
pname = "tsuquyomi";
|
||||
version = "2023-10-03";
|
||||
@ -17891,8 +17903,8 @@ final: prev:
|
||||
meta.homepage = "https://github.com/shaunsingh/moonlight.nvim/";
|
||||
};
|
||||
|
||||
render-markdown = buildVimPlugin {
|
||||
pname = "render-markdown";
|
||||
render-markdown-nvim = buildVimPlugin {
|
||||
pname = "render-markdown.nvim";
|
||||
version = "2024-09-09";
|
||||
src = fetchFromGitHub {
|
||||
owner = "MeanderingProgrammer";
|
||||
@ -17975,5 +17987,17 @@ final: prev:
|
||||
meta.homepage = "https://github.com/jhradilek/vim-snippets/";
|
||||
};
|
||||
|
||||
tailwind-tools-nvim = buildVimPlugin {
|
||||
pname = "tailwind-tools.nvim";
|
||||
version = "2024-09-15";
|
||||
src = fetchFromGitHub {
|
||||
owner = "luckasRanarison";
|
||||
repo = "tailwind-tools.nvim";
|
||||
rev = "41e901e7b4470082b5388b8385249632642c2510";
|
||||
hash = "sha256-eDog1SXn1qS9ZjeG5709BU2qxzOUqa6V+gbBkW1xbqw=";
|
||||
};
|
||||
meta.homepage = "https://github.com/luckasRanarison/tailwind-tools.nvim";
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
|
@ -1524,7 +1524,7 @@
|
||||
pname = "sg-nvim-rust";
|
||||
inherit (old) version src;
|
||||
|
||||
cargoHash = "sha256-dqa5Rd3NeOSqv18F1QdkrWEypJ0bvVwIDwrMOyBVsDM=";
|
||||
cargoHash = "sha256-7Bo0DSRqxA7kgNuyuWw24r3PsP92y9h98SHFtIhG+Gs=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
@ -1553,10 +1553,6 @@
|
||||
mkdir -p $out/target/debug
|
||||
ln -s ${sg-nvim-rust}/{bin,lib}/* $out/target/debug
|
||||
'';
|
||||
|
||||
# Build fails with rust > 1.80
|
||||
# https://github.com/sourcegraph/sg.nvim/issues/259
|
||||
meta.broken = true;
|
||||
});
|
||||
|
||||
skim = buildVimPlugin {
|
||||
@ -1575,12 +1571,12 @@
|
||||
|
||||
sniprun =
|
||||
let
|
||||
version = "1.3.15";
|
||||
version = "1.3.16";
|
||||
src = fetchFromGitHub {
|
||||
owner = "michaelb";
|
||||
repo = "sniprun";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-8N+KUawQ6RI6sG8m9wpvJTMQyJ5j/43PRkrTPrWAREQ=";
|
||||
hash = "sha256-2rVeBUkdLXUiHkd8slyiLTYQBKwgMQvIi/uyCToVBYA=";
|
||||
};
|
||||
sniprun-bin = rustPlatform.buildRustPackage {
|
||||
pname = "sniprun-bin";
|
||||
@ -1590,7 +1586,7 @@
|
||||
darwin.apple_sdk.frameworks.Security
|
||||
];
|
||||
|
||||
cargoHash = "sha256-bLki+6uMKJtk/bu+LNf2E1m/HpEG8zmnM3JI89IjmNs=";
|
||||
cargoHash = "sha256-eZcWS+DWec0V9G6hBnZRUNcb3uZeSiBhn4Ed9KodFV8=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@ -1615,7 +1611,7 @@
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/michaelb/sniprun/";
|
||||
changelog = "https://github.com/michaelb/sniprun/releases/tag/v${version}";
|
||||
changelog = "https://github.com/michaelb/sniprun/blob/v${version}/CHANGELOG.md";
|
||||
maintainers = with lib.maintainers; [ GaetanLepage ];
|
||||
};
|
||||
};
|
||||
@ -1801,6 +1797,10 @@
|
||||
nvimRequireCheck = "todo-comments";
|
||||
};
|
||||
|
||||
tssorter-nvim = super.tssorter-nvim.overrideAttrs {
|
||||
dependencies = with self; [ nvim-treesitter ];
|
||||
};
|
||||
|
||||
tup =
|
||||
let
|
||||
# Based on the comment at the top of https://github.com/gittup/tup/blob/master/contrib/syntax/tup.vim
|
||||
|
@ -1,15 +1,15 @@
|
||||
diff --git a/lua/sniprun.lua b/lua/sniprun.lua
|
||||
index fe29d1e..92d4729 100644
|
||||
index 49be442..1834566 100644
|
||||
--- a/lua/sniprun.lua
|
||||
+++ b/lua/sniprun.lua
|
||||
@@ -4,9 +4,7 @@ M.custom_highlight=false
|
||||
@@ -3,9 +3,7 @@ M.ping_anwsered = 0
|
||||
M.info_floatwin = {}
|
||||
|
||||
-- See https://github.com/tjdevries/rofl.nvim/blob/632c10f2ec7c56882a3f7eda8849904bcac6e8af/lua/rofl.lua
|
||||
-local binary_path = vim.fn.fnamemodify(
|
||||
- vim.api.nvim_get_runtime_file("lua/sniprun.lua", false)[1], ":h:h")
|
||||
- .. "/target/release/sniprun"
|
||||
- vim.api.nvim_get_runtime_file("lua/sniprun.lua", false)[1], ":h:h")
|
||||
- .. "/target/release/sniprun"
|
||||
+local binary_path = "@sniprun_bin@/bin/sniprun"
|
||||
|
||||
local sniprun_path = vim.fn.fnamemodify( vim.api.nvim_get_runtime_file("lua/sniprun.lua", false)[1], ":p:h") .. "/.."
|
||||
local sniprun_path = vim.fn.fnamemodify(vim.api.nvim_get_runtime_file("lua/sniprun.lua", false)[1], ":p:h") .. "/.."
|
||||
|
||||
|
@ -831,7 +831,7 @@ https://github.com/theprimeagen/refactoring.nvim/,,
|
||||
https://github.com/tversteeg/registers.nvim/,,
|
||||
https://github.com/vladdoster/remember.nvim/,,
|
||||
https://github.com/filipdutescu/renamer.nvim/,,
|
||||
https://github.com/MeanderingProgrammer/render-markdown.nvim/,,render-markdown
|
||||
https://github.com/MeanderingProgrammer/render-markdown.nvim/,,
|
||||
https://github.com/gabrielpoca/replacer.nvim/,HEAD,
|
||||
https://github.com/NTBBloodbath/rest.nvim/,,
|
||||
https://github.com/vim-scripts/restore_view.vim/,HEAD,restore-view-vim
|
||||
@ -919,6 +919,7 @@ https://github.com/godlygeek/tabular/,,
|
||||
https://github.com/AndrewRadev/tagalong.vim/,,
|
||||
https://github.com/preservim/tagbar/,,
|
||||
https://github.com/vim-scripts/taglist.vim/,,
|
||||
https://github.com/luckasRanarison/tailwind-tools.nvim/,HEAD,
|
||||
https://github.com/themaxmarchuk/tailwindcss-colors.nvim/,HEAD,
|
||||
https://github.com/wellle/targets.vim/,,
|
||||
https://github.com/tools-life/taskwiki/,,
|
||||
@ -987,6 +988,7 @@ https://github.com/Pocco81/true-zen.nvim/,,
|
||||
https://github.com/tesaguri/trust.vim/,HEAD,
|
||||
https://github.com/folke/ts-comments.nvim/,HEAD,
|
||||
https://github.com/jgdavey/tslime.vim/,,
|
||||
https://github.com/mtrajano/tssorter.nvim/,HEAD,
|
||||
https://github.com/Quramy/tsuquyomi/,,
|
||||
https://github.com/folke/twilight.nvim/,,
|
||||
https://github.com/pmizio/typescript-tools.nvim/,,
|
||||
|
@ -674,10 +674,10 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "libretro-prboom",
|
||||
"rev": "2a96b2a22cf98bdd508b1efc31afceb78717f4ba",
|
||||
"hash": "sha256-Pf6U9RTkMUsRl2mOU6ooFPhVu0G9MZQjJYKVQ9WneIE="
|
||||
"rev": "0b43954c75760d00737120db9d5009813778c7ae",
|
||||
"hash": "sha256-mb7hggdwOjWgKNykeOv+0IDYpKLHy9dJqA4+c/8R6Ss="
|
||||
},
|
||||
"version": "unstable-2024-09-05"
|
||||
"version": "unstable-2024-09-07"
|
||||
},
|
||||
"prosystem": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -794,10 +794,10 @@
|
||||
"src": {
|
||||
"owner": "stella-emu",
|
||||
"repo": "stella",
|
||||
"rev": "b1e297153b4e7013a28763253c425a6f4bf31f48",
|
||||
"hash": "sha256-6LPoFX9m6Ads/pZJcMOrJlllluAoCyzyTT6Ngrr84YI="
|
||||
"rev": "03c5d7f1cf3e325e0dc0b41b89ffc17a54834af8",
|
||||
"hash": "sha256-i7EBcbyoLz6MSeDe2d+HRpaKhig0zZEMC7rQqQrpbvA="
|
||||
},
|
||||
"version": "unstable-2024-09-01"
|
||||
"version": "unstable-2024-09-09"
|
||||
},
|
||||
"stella2014": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
|
@ -42,6 +42,7 @@
|
||||
, mypaint-brushes1
|
||||
, libwebp
|
||||
, libheif
|
||||
, libxslt
|
||||
, libgudev
|
||||
, openexr
|
||||
, desktopToDarwinBundle
|
||||
@ -76,6 +77,14 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
# Use absolute paths instead of relying on PATH
|
||||
# to make sure plug-ins are loaded by the correct interpreter.
|
||||
./hardcode-plugin-interpreters.patch
|
||||
|
||||
# GIMP queries libheif.pc for builtin encoder/decoder support to determine if AVIF/HEIC files are supported
|
||||
# (see https://gitlab.gnome.org/GNOME/gimp/-/blob/a8b1173ca441283971ee48f4778e2ffd1cca7284/configure.ac?page=2#L1846-1852)
|
||||
# These variables have been removed since libheif 1.18.0
|
||||
# (see https://github.com/strukturag/libheif/commit/cf0d89c6e0809427427583290547a7757428cf5a)
|
||||
# This has already been fixed for the upcoming GIMP 3, but the fix has not been backported to 2.x yet
|
||||
# (see https://gitlab.gnome.org/GNOME/gimp/-/issues/9080)
|
||||
./force-enable-libheif.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -85,6 +94,7 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
gettext
|
||||
makeWrapper
|
||||
gtk-doc
|
||||
libxslt
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
desktopToDarwinBundle
|
||||
];
|
||||
|
22
pkgs/applications/graphics/gimp/force-enable-libheif.patch
Normal file
22
pkgs/applications/graphics/gimp/force-enable-libheif.patch
Normal file
@ -0,0 +1,22 @@
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 48c3c77892..3189781817 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1843,13 +1843,13 @@ can_export_heic=no
|
||||
can_import_avif=no
|
||||
can_export_avif=no
|
||||
if test "x$have_libheif" = xyes; then
|
||||
- can_import_heic=`$PKG_CONFIG --variable=builtin_h265_decoder libheif`
|
||||
- can_export_heic=`$PKG_CONFIG --variable=builtin_h265_encoder libheif`
|
||||
+ can_import_heic=yes
|
||||
+ can_export_heic=yes
|
||||
if test "x$can_import_heic" = xyes; then
|
||||
MIME_TYPES="$MIME_TYPES;image/heif;image/heic"
|
||||
fi
|
||||
- can_import_avif=`$PKG_CONFIG --variable=builtin_avif_decoder libheif`
|
||||
- can_export_avif=`$PKG_CONFIG --variable=builtin_avif_encoder libheif`
|
||||
+ can_import_avif=yes
|
||||
+ can_export_avif=yes
|
||||
if test "x$can_import_avif" = xyes; then
|
||||
MIME_TYPES="$MIME_TYPES;image/avif"
|
||||
fi
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "clusterctl";
|
||||
version = "1.8.2";
|
||||
version = "1.8.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubernetes-sigs";
|
||||
repo = "cluster-api";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-7MTl1PzkcvnLZgpGQ+SA29Zb3h0iLMWQcN/FvQflM7s=";
|
||||
hash = "sha256-zvMjfaEq6EOWVqjVOoS2nb1fuGyEljcNVfTpAWUsiL8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-0VVaD1vGIGezgkVCvIhNHmZqVFxFu4UcUUh0wuX2viw=";
|
||||
|
@ -1,9 +1,9 @@
|
||||
{
|
||||
"version" = "1.11.76";
|
||||
"version" = "1.11.77";
|
||||
"hashes" = {
|
||||
"desktopSrcHash" = "sha256-oG1nzOSXl2vjxvxdVg2o5ssKbAqrYHS4pnLCPJsIBCQ=";
|
||||
"desktopYarnHash" = "0bl78yd7apd5qbsqyhxnwj7lwrjx5820zh22rzgn9jqkcv25jwgw";
|
||||
"webSrcHash" = "sha256-1hmSdefNChRcUnwbxS00NYrEexMyg8FIL0BXdEbwm+s=";
|
||||
"webYarnHash" = "0bnxd7kig2a5scgdsd0yhhmanf7zqi2gd2si6kgnr0v2kc0akc0b";
|
||||
"desktopSrcHash" = "sha256-y7cmTSkNzA4aNY7z9sjgyIquTPVvl+nH7BHUx/2nJ5A=";
|
||||
"desktopYarnHash" = "0fwkdrfhfl6knvx552q2lpp5pd54qbzkm4kx6jvcrdwjk3x4cgqd";
|
||||
"webSrcHash" = "sha256-IeBuLlcorsHZ78P6h5LVCCGHauqzwwm2Lc9B07su86Y=";
|
||||
"webYarnHash" = "0nm70m37kqkb959vi69r8zidsh25nzgn1550yl46pzihzbiqm8nx";
|
||||
};
|
||||
}
|
||||
|
@ -4,11 +4,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rocketchat-desktop";
|
||||
version = "4.0.2";
|
||||
version = "4.1.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/${version}/rocketchat-${version}-linux-amd64.deb";
|
||||
hash = "sha256-E2bIFv0oO9mZ90iTHdB3jczr+FEJBCV5r1ucsd6ulGE=";
|
||||
hash = "sha256-SMpcsRKxx51O7cagDFIrp70QiAHaoAU5NhLHtog647g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -156,11 +156,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "wavebox";
|
||||
version = "10.128.5-2";
|
||||
version = "10.128.7-2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.wavebox.app/stable/linux/deb/amd64/wavebox_${finalAttrs.version}_amd64.deb";
|
||||
hash = "sha256-eIiFiRlmnARtyd8YHUHrjDaaF8kQYvcOa2AwT3071Ho=";
|
||||
hash = "sha256-MRMN/xVs80u3MfdQfALhPW7dpTZrjsVhMjEN/zl7K+U=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ipget";
|
||||
version = "0.10.0";
|
||||
version = "0.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ipfs";
|
||||
repo = "ipget";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-nT0bMy4L1T2rwE6g3Q4tNkmeP3XyPVxCV9yoGqMZjNs=";
|
||||
hash = "sha256-SCYbfsQ8yF2ggwNyW0+kydpSBQN9NPpz1Hmw4ni3cg0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-q8uwijh3y4l4ebFc3u5Z6TLUUiQqUK6Qpqq/m0kLF14=";
|
||||
vendorHash = "sha256-90iimOtFys12nrT0hHyzHrpB03YGNfHY/a7V8Blijfw=";
|
||||
|
||||
postPatch = ''
|
||||
# main module (github.com/ipfs/ipget) does not contain package github.com/ipfs/ipget/sharness/dependencies
|
||||
|
@ -20,14 +20,14 @@
|
||||
let
|
||||
pname = "qownnotes";
|
||||
appname = "QOwnNotes";
|
||||
version = "24.9.1";
|
||||
version = "24.9.6";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
inherit pname version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
|
||||
hash = "sha256-W9w7FJ0EfwPLC9R6OnDz+yny4VSaRGdrPXvaReV9hco=";
|
||||
hash = "sha256-r5X8/BObkDlhB0LkfMSdrYWaU8mwquQhSiPUDJjV1qM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "kallisto";
|
||||
version = "0.51.0";
|
||||
version = "0.51.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "kallisto";
|
||||
owner = "pachterlab";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-+tnuka6uzoNr5pLuE2yV97KmqdThIG0IwiO+SCYiCk8=";
|
||||
sha256 = "sha256-hfdeztEyHvuOnLS71oSv8sPqFe2UCX5KlANqrT/Gfx8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoconf cmake ];
|
||||
|
@ -30,7 +30,6 @@ python3.pkgs.buildPythonApplication rec {
|
||||
gobject-introspection
|
||||
makeBinaryWrapper
|
||||
wrapGAppsHook3
|
||||
python3.pkgs.pytest-runner
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gh";
|
||||
version = "2.56.0";
|
||||
version = "2.57.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cli";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-PDw2u+2hMiPmQe1lnJXnZk8JVsti/j7Nq5Uv3b7RIk4=";
|
||||
hash = "sha256-HNr/HBt1EqbV+/dLCztucmeAqw3jLPOgQ0WLPxGDYgY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-rMJWUm79/wBBdVvNdIQc7jqzxfDXphBvGYU3wD/BITk=";
|
||||
vendorHash = "sha256-gPUEfdS4iEzMQGdUNKMmEGRug66NVcrV3zvmkoEsNGo=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
@ -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; }) ];
|
||||
|
@ -176,7 +176,7 @@ recursiveUpdate lib (rec {
|
||||
coqPackages.lib.overrideCoqDerivation
|
||||
{
|
||||
defaultVersion = "9999";
|
||||
release."9999".sha256 = "1lq8x86vd3vqqh2yq6hvyagpnhfq5wmk5pg2z0xq7b7dbbbhyfkw";
|
||||
release."9999".hash = "sha256-fDoP11rtrIM7+OLdMisv2EF7n/IbGuwFxHiPtg3qCNM=";
|
||||
}
|
||||
coqPackages.QuickChick;
|
||||
```
|
||||
|
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)"
|
@ -3,16 +3,17 @@
|
||||
fetchFromGitHub,
|
||||
python3Packages,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "badkeys";
|
||||
version = "0.0.11";
|
||||
version = "0.0.12";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "badkeys";
|
||||
repo = "badkeys";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-VfkJeHEdvRc0Khf/C7ZUNpjd6t+hUULCTXXY80rs4Ko=";
|
||||
hash = "sha256-LFoB/ZHIMRpN/eHg3x8HCxNbMKclf2SJSDPk33OIil8=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
@ -38,8 +39,8 @@ python3Packages.buildPythonApplication rec {
|
||||
description = "Tool to find common vulnerabilities in cryptographic public keys";
|
||||
homepage = "https://badkeys.info/";
|
||||
changelog = "https://github.com/badkeys/badkeys/releases/tag/${lib.removePrefix "refs/tags/" src.rev}";
|
||||
mainProgram = "badkeys";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ getchoo ];
|
||||
mainProgram = "badkeys";
|
||||
};
|
||||
}
|
||||
|
@ -12,18 +12,18 @@ let
|
||||
registry = fetchFromGitHub {
|
||||
owner = "bazelbuild";
|
||||
repo = "bazel-central-registry";
|
||||
rev = "1c729c2775715fd98f0f948a512eb173213250da";
|
||||
hash = "sha256-1iaDDM8/v8KCOUjPgLUtZVta7rMzwlIK//cCoLUrb/s=";
|
||||
rev = "40bc9ad53e5a59d596935839e7c072679e706266";
|
||||
hash = "sha256-CL0YMQd1ck6/dlvJCLxt9jYyqDuk+iAWfdBOMj864u8=";
|
||||
};
|
||||
in buildBazelPackage rec {
|
||||
pname = "bant";
|
||||
version = "0.1.6";
|
||||
version = "0.1.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hzeller";
|
||||
repo = "bant";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-4h76ok2aN7WfD8OHIS0O2Dk924+hFXJXewKRM7XYjKw=";
|
||||
hash = "sha256-QbxPosjlrpxbz6gQKUKccF2Gu/i5xvqh2gwfABYE8kE=";
|
||||
};
|
||||
|
||||
bazelFlags = ["--registry" "file://${registry}"];
|
||||
@ -34,8 +34,8 @@ in buildBazelPackage rec {
|
||||
|
||||
fetchAttrs = {
|
||||
sha256 = {
|
||||
aarch64-linux = "sha256-UI+Vz/gU6ki0yulcDbA1lkKJg0MZWYMIpfIHHmIjVLo=";
|
||||
x86_64-linux = "sha256-9ryJUrmLkhuH6wRuHkAXIvOC+xGJ+jHL6vlAkRuXcUI=";
|
||||
aarch64-linux = "sha256-09RL0tj6xsGEmuv11V81eAtqLc9nAaE8Il3d6ueS0UQ=";
|
||||
x86_64-linux = "sha256-6mlaJ/kT14vKvlJjxqBK/lESjjxbcYxApi7+eiiI37M=";
|
||||
}.${system} or (throw "No hash for system: ${system}");
|
||||
};
|
||||
|
||||
|
@ -6,12 +6,12 @@
|
||||
}:
|
||||
let
|
||||
pname = "bazecor";
|
||||
version = "1.4.4";
|
||||
version = "1.4.5";
|
||||
src = appimageTools.extract {
|
||||
inherit pname version;
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Dygmalab/Bazecor/releases/download/v${version}/Bazecor-${version}-x64.AppImage";
|
||||
hash = "sha256-ep+3lqWdktyvbTKxfLcPiVq9/5f0xBHwKG1+BxDDBQA=";
|
||||
hash = "sha256-cvzUjOmeTWB07vSe6taUyGDmTlN62fhsQw/OMgvIJ2M=";
|
||||
};
|
||||
|
||||
# Workaround for https://github.com/Dygmalab/Bazecor/issues/370
|
||||
|
@ -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 = [
|
||||
|
@ -6,7 +6,7 @@
|
||||
, autoPatchelfHook
|
||||
, libcxx
|
||||
, libGL
|
||||
, gcc7
|
||||
, gcc
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "blackmagic-desktop-video";
|
||||
@ -16,7 +16,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
autoPatchelfHook
|
||||
libcxx
|
||||
libGL
|
||||
gcc7.cc.lib
|
||||
gcc.cc.lib
|
||||
];
|
||||
|
||||
# yes, the below download function is an absolute mess.
|
||||
|
@ -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);
|
||||
};
|
||||
}
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user