David McFarland
92a255d13b
nuget-to-nix: fix error handling
2024-03-06 10:14:21 -04:00
David McFarland
6b047e397a
mkNugetDeps: provide default for nugetDeps
2024-03-03 09:57:47 -04:00
David McFarland
ca181cefee
nuget-to-nix: skip local sources
2024-03-03 09:57:47 -04:00
Weijia Wang
b0fb3f62d0
Merge pull request #278242 from raphaelr/mknugetsource-remove-ifd
...
mkNugetSource: Remove meta.licenses attribute
2024-01-18 09:22:38 +01:00
Ryan Lahfa
d74aefe80e
Merge pull request #251267 from lilyinstarlight/fix/dotnet-installPath
...
buildDotnetModule: actually use installPath
2024-01-12 19:30:12 +01:00
Raphael Robatsch
928d66083e
mkNugetSource: Allow passing arbitrary stdenv.mkDerivation attrs
...
This allows things such as
mkNugetSource {
name = "foo-nuget-source";
deps = [ ... ];
meta = {
hydraPlatforms = [ ];
};
}
2024-01-02 20:27:20 +01:00
Raphael Robatsch
5fb3301dad
mkNugetSource: Remove meta.licenses attribute
...
- It's useless. The correct attribute name would be `license` and not
`licenses`. Meaning setting this never did anything useful.
- It used IFD in its implementation, meaning to know what the licenses
of a nuget source are, you first had to build that nuget source. This
defeats the point of having license checks in the first place.
- IFD is not allowed by the nixpkgs CI and build farm anyway.
2024-01-02 11:21:19 +01:00
David McFarland
a185ed85be
nuget-to-nix: handle packages with mismatched nuspec case
...
e.g. cake.tool 3.0.0 which uses Cake.Tool.nuspec.
2023-12-22 12:06:02 +01:00
Sandro Jäckel
bf81cded7d
makeNugetSource: symlink files instead of copying them
...
this reduces the closure size of the resulting derivation drastically
2023-12-15 01:23:21 +00:00
Sandro Jäckel
5ef866783f
makeNugetSource: fix meta.description being overwritten, misc cleanup
2023-12-15 01:23:21 +00:00
mdarocha
5b43e78193
buildDotnetModule: fix rare error when evaluation of version fails
2023-12-04 20:24:09 +01:00
mdarocha
d016404ccd
buildDotnetModule: parse version before passing it to dotnet
...
This avoids problems when the Nix version attribute does not fit the
format required by .NET
2023-10-17 18:59:52 +02:00
mdarocha
8318df5b63
buildDotnetModule: fix running fetch-deps with no nugetDeps defined.
...
This eases the initial setup when creating a package
2023-09-30 13:21:12 +02:00
Lily Foster
20e1dd2d1e
buildDotnetModule: actually use installPath
2023-08-24 20:15:13 -04:00
OTABI Tomoya
ccaca85500
Merge pull request #249091 from TomaSajt/dotnet-fix
...
Fix useDotnetFromEnv's DOTNET_ROOT detection
2023-08-23 14:04:47 +09:00
TomaSajt
9646cb5c49
buildDotnetGlobalTool: fix typo
2023-08-14 20:56:27 +02:00
TomaSajt
ed60ed3562
Fix useDotnetFromEnv's DOTNET_ROOT detection
2023-08-08 00:37:49 +02:00
David McFarland
f2027f4960
nuget-to-nix: set nullglob
...
This stops nuget-to-nix from failing when there are no packages in the
output.
2023-06-24 19:13:16 -03:00
David McFarland
bca3a9edfc
buildDotnetModule: fix indentation
2023-06-24 19:13:16 -03:00
David McFarland
afe26f5f1d
buildDotnetModule: remove fetch-deps from tool packages
...
This helps if we want to run nixpkgs.*.fetch-deps. Previously
e.g. fable.fetch-deps existed, but was broken.
2023-06-24 19:13:16 -03:00
David McFarland
d6fa0f0a26
buildDotnetModule: use tmp file for fetch-deps output
2023-06-24 19:13:16 -03:00
David McFarland
cf9976de74
buildDotnetModule: unset TMPDIR instead of setting it empty
...
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)
2023-06-24 19:13:16 -03:00
David McFarland
9c16cea2bb
buildDotnetModule: allow lockFile path to be set in nugetDeps
...
This allows fetch-deps to find the lock-file for roslyn.
2023-06-24 17:17:41 -03:00
mdarocha
29e770e0eb
buildDotnetModule: support native binaries in nuget packages
...
This helps with ie. crossgen2 building, and packages that use protoc
2023-06-21 17:06:30 +02:00
mdarocha
c51141d997
buildDotnetModule: pass runtimeId whenever possible and disable trimming when not allowed.
...
This fixes up some build errors
2023-06-21 17:06:30 +02:00
mdarocha
3408b40fb5
buildDotnetGlobalTool: init
2023-06-20 17:20:52 +02:00
mdarocha
abf6081bc2
buildDotnetModule: add useDotnetFromEnv option
...
This causes an alternative wrapper to be used, that takes the dotnet
runtime from the environment.
2023-06-20 17:20:51 +02:00
mdarocha
6c639e869c
buildDotnetModule: tweaks to support paket
...
Projects that use paket, and have it setup so that it's executed
transparently during "dotnet restore" as a dotnet tool should now work.
2023-06-20 17:20:51 +02:00
Raphael Robatsch
0d29814880
mkNugetSource: Also copy .nupkg files from subdirectories
...
Previously only .nupkg files directly in the deps directory were copied.
This is a regression because it breaks `projectReferences = [ ... ];` in
buildDotnetModule.
2023-05-26 16:18:07 +02:00
Guillaume Maudoux
33399c9de8
Merge pull request #229008 from whonore/dafny-4
...
dafny: 2.3.0 -> 4.0.0
2023-05-17 09:53:06 +02:00
Raphael Robatsch
d347b0400c
mkNugetSource: remove mono from build closure
...
A directory full of *.nupkg files is a valid nuget source. We do not need mono
and the Nuget command line tool to create this structure. This has two
advantages:
- Nuget is currently broken due to a kernel bug affecting mono (#229476 ).
Replacing the mkNugetSource implementation allows affected users on 6.1+
kernels compile .NET core packages again.
- It removes mono from the build closure of .NET core packages. .NET core
builds should not depend on .NET framework tools like mono.
There is no equivalent of the `nuget init` command in .NET core. The closest
command is `dotnet nuget push`, which just copies the *.nupkg files around
anyway, just like this PR does with `cp`.
`nuget init` used to extract the *.nuspec files from the nupkgs, this new
implementation doesn't. .NET core doesn't care, but it makes the license
extraction more difficult. What was previously done with find/grep/xml2 is now
a python script (extract-licenses-from-nupkgs.py).
2023-05-05 18:38:06 +00:00
Guillaume Maudoux
6efefdc8c1
buildDotnetModule: add support for dotnet tools
2023-04-29 18:54:04 -04:00
7c6f434c
17b4ad7c2f
Merge pull request #217587 from winterqt/build-dotnet-module-darwin-sandbox
...
buildDotnetModule: fix sandboxed builds on darwin
2023-04-17 14:08:21 +00:00
Sandro
06c40b7498
Merge pull request #218991 from Trundle/builddotnetmodule-space-wrapper-args
2023-03-31 01:19:55 +02:00
Artturin
780669daf5
treewide: don't hardcode /nix/store (no rebuilds changes)
...
improve experience for other store locations
2023-03-24 20:11:33 +02:00
mdarocha
d093086a2b
buildDotnetModule: add support for using combinePackages as dotnet-sdk
...
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.
2023-03-19 20:53:39 +01:00
Atemu
d390c28a89
Merge pull request #218849 from Atemu/buildDotnetModule-put-dep-file-path-in-fetch-script
...
buildDotnetModule: point fetch-deps at module's deps file by default
2023-03-06 17:46:32 +01:00
Andreas Stührk
b76ce89dfc
buildDotnetModule: add support for args with spaces in makeWrapperArgs
2023-03-01 14:15:33 +01:00
Atemu
014eba883e
buildDotnetModule: point fetch-deps at module's deps file by default
...
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.
2023-02-28 19:04:56 +01:00
Winter
8c8524bc9a
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
2023-02-21 18:04:39 -05:00
github-actions[bot]
c4fe2133de
Merge staging-next into staging
2023-02-15 06:01:44 +00:00
Felix Buehler
bc3d5934d7
treewide: use lib.optionals
2023-02-14 19:11:59 +01:00
Artturin
4e3dcf364e
treewide: makeSetupHook deps -> propagatedBuildInputs
2023-02-07 21:02:00 +02:00
mdarocha
08e378f0d4
buildDotnetModule: proper escaping of disabledTests
2023-01-17 16:46:13 +01:00
Erik Arvstedt
89c457d847
build-dotnet-module: fix mktemp
...
Re-add missing `-t` arg which I erroneously removed in
a98e520855
.
Without it, the tmpdir is created in $PWD.
2023-01-09 17:33:10 +01:00
Erik Arvstedt
a98e520855
build-dotnet-module: avoid /run/user
for downloading packages
...
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.
2023-01-07 17:59:34 +01:00
David McFarland
824d40aa04
build-dotnet-module: restore for current runtime by default
2022-12-19 15:36:25 -04:00
David McFarland
4c861dd26c
build-dotnet-module: add useAppHost parameter so it can be disabled
2022-12-19 15:36:25 -04:00
David McFarland
62ecb39a1f
buildDotnetModule: run tests on projectFile if testProjectFile is unset
2022-12-19 15:36:25 -04:00
David McFarland
507eff880d
build-dotnet: make passthru.packages a derivation
2022-12-19 15:36:25 -04:00