Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2024-09-18 00:15:34 +00:00 committed by GitHub
commit bb260f91c4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
508 changed files with 10043 additions and 15259 deletions

View File

@ -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 {

View File

@ -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
View 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`.

View File

@ -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
```

View File

@ -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`.)

View File

@ -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;
}
```

View File

@ -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;
}

View File

@ -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
View 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 }: { }));
}
])

View File

@ -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 ../.;

View File

@ -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";

View File

@ -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:

View File

@ -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.

View File

@ -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`.

View File

@ -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

View File

@ -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";
}

View File

@ -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`

View File

@ -96,6 +96,7 @@ in
security.pam.services.ly = {
startSession = true;
unixAuth = true;
enableGnomeKeyring = lib.mkDefault config.services.gnome.gnome-keyring.enable;
};
environment = {

View File

@ -235,7 +235,7 @@ in {
};
channel = mkOption {
default = 7;
default = 0;
example = 11;
type = types.int;
description = ''

View File

@ -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
];

View File

@ -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`.

View File

@ -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")
'';
});

View File

@ -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")
'';
})

View File

@ -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 = [

View File

@ -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;

View File

@ -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;
};

View File

@ -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

View File

@ -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

View File

@ -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 [

View File

@ -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"

View File

@ -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";
};
}

View File

@ -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

View File

@ -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") .. "/.."

View File

@ -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/,,

View File

@ -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",

View File

@ -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
];

View 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

View File

@ -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=";

View File

@ -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";
};
}

View File

@ -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 = [

View File

@ -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 = [

View File

@ -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

View File

@ -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 = [

View File

@ -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 ];

View File

@ -30,7 +30,6 @@ python3.pkgs.buildPythonApplication rec {
gobject-introspection
makeBinaryWrapper
wrapGAppsHook3
python3.pkgs.pytest-runner
];
buildInputs = [

View File

@ -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 ];

View File

@ -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; }) ];

View File

@ -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;
```

View 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}"
'';
};
}

View 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"

View File

@ -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''
)

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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
];
};

View File

@ -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

View File

@ -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;
};
}
)
))

View File

@ -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 {} +
''}
'';
}
)

View File

@ -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

View File

@ -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 =

View File

@ -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

View 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

File diff suppressed because it is too large Load Diff

View 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=";
}
]

View 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"
}
]
}
]
}
]

View 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
)

View 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)"

View File

@ -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";
};
}

View File

@ -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}");
};

View File

@ -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

View File

@ -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 = [

View File

@ -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.

View File

@ -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