éclairevoyant
858f4db304
buildDotnetModule: fix handling executables
with an empty list
2024-04-02 13:08:31 -04:00
David McFarland
6b047e397a
mkNugetDeps: provide default for nugetDeps
2024-03-03 09:57:47 -04: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
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
TomaSajt
ed60ed3562
Fix useDotnetFromEnv's DOTNET_ROOT detection
2023-08-08 00:37:49 +02: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
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
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
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
David McFarland
06e4d89943
build-dotnet-module: strip --runtime flags without using rid
2022-12-19 15:36:25 -04:00
David McFarland
3fdb6c5a90
dotnetCorePackages: move systemToDotnetRid out of sdk
2022-12-19 15:36:25 -04:00
figsoda
ec8cb34358
treewide: fix typos
2022-12-17 19:39:44 -05:00
mdarocha
8e7296e984
buildDotnetModule: generate a NuGet.config with source
...
Some references, like <Sdk />, ignore the --source argument.
To fix that, we generate a simple NuGet.config containing only
the given nuget source.
2022-11-25 18:50:44 +01:00
Sandro Jäckel
0f386859f5
build-dotnet-module: don't end with exit code 1 when update was sucessfull
...
otherwise scripts might end prematurely
2022-10-25 16:12:22 +02:00
David McFarland
b60c9fd2fe
nuget-to-nix: find sources deterministically
...
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.
2022-10-02 16:09:27 -03:00
David McFarland
f8763b87e0
nuget-to-nix: exclude by package source, not list
...
This allows exclusions to be by version.
2022-10-02 16:09:27 -03:00
David McFarland
0eb6874732
build-dotnet-module: fix fetch-deps usage message
2022-10-02 16:09:27 -03:00
David McFarland
f716d092e2
build-dotnet-module: limit package platforms by sdk support
2022-10-02 16:09:27 -03:00
David McFarland
4b40579b2d
build-dotnet-module: clean up tmp file handling
...
Having:
rm -rf "$src" "$HOME"
Was slightly terrifying IMO, especially where the trap was installed
before HOME was set.
2022-10-02 16:09:24 -03:00
Ivar Scholten
4a8eb528be
buildDotnetModule: add the option to keep sources to fetch-deps
2022-09-18 18:02:03 +02:00
Ivar Scholten
8e00d6ac26
buildDotnetModule: move nugetDeps throw to when its actually needed
...
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.
2022-09-18 18:00:37 +02:00
Ivar Scholten
03a1b62cb3
buildDotnetModule: dont require specifing a projectFile
...
In a lot of cases dotnet can figure this out by itself, so we can just
invoke it without the project argument.
2022-09-18 18:00:37 +02:00
Ivar Scholten
a7c598e458
buildDotnetModule: minor changes to hooks
...
Abide by `set -e` rules and use `local -r` where applicable.
2022-09-18 18:00:37 +02:00
Ivar Scholten
e100b74627
buildDotnetModule: format with nixpkgs-fmt
2022-09-18 18:00:29 +02:00
Cole Helbling
e97ee029b4
build-dotnet-module/fetch-deps: fixup temp naming when pname has a capital X 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
2022-09-16 09:18:22 -07:00