| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
This avoids problems when the Nix version attribute does not fit the
format required by .NET
|
|
|
|
| |
This eases the initial setup when creating a package
|
|
|
|
|
| |
This helps if we want to run nixpkgs.*.fetch-deps. Previously
e.g. fable.fetch-deps existed, but was broken.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This was breaking nix-prefetch-url when running fetch-deps in nix-shell.
e.g.
$ TMPDIR= nix-prefetch-url foo
nix-prefetch-url: src/libutil/util.cc:119: nix::Path
nix::canonPath(PathView, bool): Assertion `path != ""' failed. [2]
881198 abort (core dumped)
|
|
|
|
| |
This allows fetch-deps to find the lock-file for roslyn.
|
|
|
|
|
| |
This causes an alternative wrapper to be used, that takes the dotnet
runtime from the environment.
|
|
|
|
|
| |
Projects that use paket, and have it setup so that it's executed
transparently during "dotnet restore" as a dotnet tool should now work.
|
| |
|
|\
| |
| | |
buildDotnetModule: fix sandboxed builds on darwin
|
| |
| |
| |
| |
| |
| |
| |
| | |
ICU tries to unconditionally load files from /usr/share/icu on Darwin,
which makes builds fail in the sandbox. Thus, let's disable ICU during
the build on Darwin by setting DOTNET_SYSTEM_GLOBALIZATION_INVARIANT [0].
[0]: https://learn.microsoft.com/en-us/dotnet/core/runtime-config/globalization#invariant-mode
|
| |
| |
| |
| | |
improve experience for other store locations
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows packages that require several dotnet versions to build (like
BeatSaberModManager) to properly depend on the dotnet-sdk specific deps.
This in turns avoids having to regenerate the deps of those packages
after each dotnet-sdk update.
This also changes nuget-to-nix to accept a file with a list of
exclusions instead of a folder.
|
|/
|
|
|
|
| |
Previously, you had to provide the path to the deps.nix of the package inside
your Nixpkgs checkout as an argument manually. Now it just does that by default
when no argument is passed.
|
|
|
|
|
|
|
| |
Re-add missing `-t` arg which I erroneously removed in
a98e52085584d806bd80ab203c7b75c4e361f522.
Without it, the tmpdir is created in $PWD.
|
|
|
|
|
|
|
|
|
|
|
| |
Inside `nix-shell`, `TMPDIR` (used by `mktemp`) is set to
`/run/user/<uid>` which is usually a tmpfs stored in RAM.
When fetching a large dotnet deps tree to this tmpdir from a
nix-shell (e.g. via `btcpayserver/update.sh`), this can easily exceed
system RAM and `fetch-deps` fails.
mktemp arg `-t` is deprecated and can be omitted.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
otherwise scripts might end prematurely
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The source used to download a particular package still isn't
deterministic in nuget. Even worse, the hash of the package can vary
between sources. This makes nuget use the first enabled source
containing the package.
The order of the dependencies may be slightly different because it now
uses glob order of the lower-case package names and versions, instead of
sorting the output.
If the package actually downloaded was the first source that contains
the package, then it will be hashed from disk to avoid downloading it
again.
|
|
|
|
| |
This allows exclusions to be by version.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Having:
rm -rf "$src" "$HOME"
Was slightly terrifying IMO, especially where the trap was installed
before HOME was set.
|
| |
|
|
|
|
|
|
|
| |
Previously we had an assert that would complain when nugetDeps wasnt set,
which also didnt allow any passthru attributes (like fetch-deps) to be
build. That causes a cycle where you need nugetDeps to fetch the nuget
deps, but arent able to build the script to do so.
|
|
|
|
|
| |
In a lot of cases dotnet can figure this out by itself, so we can just
invoke it without the project argument.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in it
For example, this script doesn't work for `xivlauncher` because its
proper `pname` is `XIVLauncher`, and `mktemp` complains about "too few
X's":
$ mktemp -td "XXXXXX-XIVLauncher-home"
mktemp: too few X's in template ‘XXXXXX-XIVLauncher-home’
vs
$ mktemp -td "XIVLauncher-home-XXXXXX"
/tmp/XIVLauncher-home-EdGMei
|
|
|
|
|
|
|
|
| |
This makes buildDotnetModule restore nuget dependencies for the
platforms set in meta.platforms. This should help with generating
lockfiles for platforms other than the host machine.
Co-authored-by: mdarocha <git@mdarocha.pl>
|
| |
|
| |
|
|
|
|
|
|
| |
cp on macOS doesn't support the -T flag, which causes the fetch-deps
script to fail. Use Nix's coreutils to ensure the script works
consistently across all platforms.
|
|
|
|
|
|
| |
cp on macOS doesn't support the -T flag, which causes the fetch-deps
script to fail. Appending `/.` to the source argument replicates the
same functionality.
|
| |
|
|
|
|
|
|
|
|
| |
Some packages are defined by the build proccess, and change every time
the dotnet-sdk package changes. To avoid having to regenerate every
dependant packages dependencies every dotnet update, this moves these
packages into the `dotnet-sdk` `passthru` attribute, and includes them
every time `buildDotnetModule` is used.
|
| |
|
|\
| |
| | |
dotnet ecosystem: fix cross compilation
|
| | |
|
|\ \
| | |
| | | |
buildDotnetModule: allow passing derivations to nugetDeps
|
| |/
| |
| |
| |
| |
| |
| |
| | |
Sometimes I want to pass a different implementation of `mkNugetDeps`.
For example in private repos, it can be handy to use `__noChroot = true`
and bypass the deps.nix generation altogether. Or some Nuget packages
ship with ELF binaries that need to be patched, and that's best done as
soon as possible.
|
|/ |
|
|
|
|
| |
dotnet 5 is now EOL.
|
|
|
|
|
|
|
|
|
|
|
|
| |
There used to be a few issues with the way we generate the nuget source:
* The derivation generated for the deps would have "nuget-deps" in them twice:
/nix/store/...-foo-1.0-nuget-deps-nuget-deps
* We always tried to generate the dependencies for "projectReferences"
even when it wasn't set, causing a warning.
This fixes those issues :)
|
|\ |
|
| |
| |
| |
| | |
These have been moved to a setup hook in dotnet-{sdk,runtime,aspnetcore}
|