Commit Graph

193 Commits

Author SHA1 Message Date
js6pak
895b69405c dotnet: make wrappers usable as DOTNET_ROOT
This simplifies the code a bit and makes it possible to use dotnetCorePackages.combinePackages as dotnet-runtime again.
Partial revert of ddd08e404f.
2024-12-06 10:01:59 -04:00
David McFarland
597474a8f1 dotnet: nixfmt output of nuget-to-nix 2024-12-05 10:09:05 -04:00
David McFarland
04f1c8b4ea buildDotnetGlobalTool: add default updateScript 2024-12-03 10:29:24 -04:00
David McFarland
07a92bc006 buildDotnetGlobalTools: add finalAttrs support 2024-12-03 10:08:52 -04:00
David McFarland
3463d22cd8 buildDotnetGlobalTool: format with nixfmt 2024-12-03 10:08:52 -04:00
David McFarland
112a4c48c6 dotnet: add passthru.runtime/aspnetcore to sdk packages 2024-11-17 14:19:25 -04:00
David McFarland
5b462ef57a buildDotnetModule: allow selfContainedBuild property to be omitted with null
Fixes #351892
2024-11-17 14:19:24 -04:00
David McFarland
aa0289eda4 buildDotnetModule: respect self-contained setting in restore 2024-11-17 14:19:24 -04:00
David McFarland
4219a94158 buildDotnetModule: make dotnet-runtime optional 2024-11-17 14:19:24 -04:00
David McFarland
42d69ab59a dotnet: move dotnet_root to $out/share/dotnet 2024-11-17 14:19:23 -04:00
David McFarland
ddd08e404f dotnet: split setup hooks into wrapper for runtime/sdk 2024-11-17 14:19:22 -04:00
aleksana
571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00
Reno Dakota
52bf1163fa
treewide: use getLib when accessing clang / libclang / stdenv.cc.cc
In preparation to eliminate the lib output for the unwrapped clang, use
`lib.getLib` to access the `lib` output.
2024-11-07 10:27:41 +00:00
r-vdp
995ee2fa2c
nuget-to-nix: add meta.mainProgram 2024-10-09 12:33:27 +02:00
David McFarland
9bb309d5b5 buildDotnetModule: set --no-restore in check/publish/pack 2024-09-24 20:43:24 -03:00
David McFarland
00fe5f61ba buildDotnetModule: remove duplicate attribute key 2024-09-24 20:43:24 -03:00
David McFarland
2c97d67f62 dotnet: split sdk packages by platform 2024-09-24 20:43:24 -03:00
Artturin
e0464e4788 treewide: replace stdenv.is with stdenv.hostPlatform.is
In preparation for the deprecation of `stdenv.isX`.

These shorthands are not conducive to cross-compilation because they
hide the platforms.

Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way

One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059

There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.

```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
2024-09-25 00:04:37 +03:00
David McFarland
424bbc430e addNuGetDeps: fix fetch-deps output path handling 2024-09-17 01:14:28 -03:00
David McFarland
be577a25f4 fetchNupkg: conservatively set sourceProvenance 2024-09-17 01:14:27 -03:00
David McFarland
f5e9dd4201 addNuGetDeps: print name of package being fetched 2024-09-17 01:14:27 -03:00
David McFarland
0e5b1ff245 add-nuget-deps: use NUGET_HTTP_CACHE_PATH from user's HOME 2024-09-17 01:12:13 -03:00
David McFarland
a4189437a3 add-nuget-deps: set HOME outside of nix-shell 2024-09-17 01:12:13 -03:00
David McFarland
206693180f add-nuget-deps: expose fetch derivation as passthru.fetch-drv 2024-09-17 01:12:13 -03:00
David McFarland
4bb15106d5 add-nuget-deps: use cacert via nativeBuildInputs 2024-09-17 01:12:13 -03:00
David McFarland
e6bca73d01 nuget-to-nix: use xmlstarlet instead of xq (yq)
xq has such a long startup time that this significantly improves
performance.
2024-09-17 01:12:13 -03:00
David McFarland
c693cb8ec6 addNuGetDeps: move TMPDIR handling out of fetch-deps
We now handle creating TMPDIR and setting the working directory outide
of nix-shell.  This allows nix-shell to set NIX_BUILD_TOP correctly.
2024-09-17 01:12:13 -03:00
David McFarland
521b7b5e5f fetch-nupkg: use helper from nuget-package-hook to unpack 2024-09-17 01:12:12 -03:00
David McFarland
b1685747a7 nuget-package-hook: move package unpacking from buildDotnetModule 2024-09-17 01:12:11 -03:00
David McFarland
c1ee815d03 dotnet-fixup-hook: obey dontFixup 2024-09-17 01:12:11 -03:00
David McFarland
60d3a7d230 nuget-to-nix: set SSL_CERT_FILE
This is required for curl.
2024-09-17 01:12:11 -03:00
David McFarland
1d4d0d3db7 nuget-to-nix: use dotnet from PATH
The dotnet sdk used usually needs to match the one required by the
project (global.json). Having the dependcy in nix just meant it always
had to be overridden.
2024-09-17 01:12:11 -03:00
David McFarland
e05c0c4f98 dotnet-fixup-hook: remove confusing logs 2024-09-17 01:12:11 -03:00
David McFarland
773cc0de74 dotnet-sdk-setup-hook: move nuget configuration from dotnetBuildModule 2024-09-17 01:12:11 -03:00
David McFarland
60eb0db2ab dotnet-sdk-setup-hook: add trailing slashes to NUGET_PACKAGES vars 2024-09-17 01:12:11 -03:00
David McFarland
f820d2cf3c dotnetCorePackages: split fetch-deps logic into addNuGetDeps 2024-09-17 01:12:11 -03:00
Artturin
19bf002d43
treewide: fix editorconfig (#341423) 2024-09-13 21:49:38 +03:00
Artturin
a4e4fc5d35 dotnetenv.{buildSolution,buildWrapper}: follow editorconfig & follow common bash style
There seems to be duplication and also improvements to one between these, so someone
should rework these.

Add missing `pre` and `post` hook runs.
2024-09-13 18:17:41 +03:00
Sergei Trofimovich
35671aabff dotnet/build-dotnet-module: fix eval of fetch-deps
Without the change the eval fails as:

    $ nix build --no-link -f. csharp-ls.fetch-deps --show-trace
    error:
       … while evaluating a path segment
         at pkgs/build-support/dotnet/build-dotnet-module/default.nix:258:36:
          257|                   else
          258|                     ''$(mktemp -t "${finalAttrs.pname ? finalAttrs.finalPackage.name}-deps-XXXXXX.nix")'';
             |                                    ^
          259|                 nugetToNix = (nuget-to-nix.override { inherit dotnet-sdk; });

       error: cannot coerce a Boolean to a string: false

Switch from `?` operator (attribute presence predicate) to an `or`
("else" form).
2024-09-13 07:12:37 +01:00
Matt Sturgeon
c8a0f01473
dotnetCorePackages.fetchNupkg: override avalonia to include upstream fix
Backport https://github.com/AvaloniaUI/Avalonia/pull/16835 to versions
11.1.0 through 11.2.0-beta1

Co-authored-by: Nick Cao <nickcao@nichi.co>
2024-09-08 16:38:43 +01:00
David McFarland
e6c700ed11 dotnetCorePackages.fetchNupkg: override avalonia.x11 to find native libs 2024-09-06 16:32:08 -03:00
David McFarland
cc9c59c478 buildDotnetModule: use individual dependencies for nugetDeps 2024-09-06 16:05:19 -03:00
David McFarland
9a0be2fd28 dotnetCorePackages.fetchNupkg: override skiasharp to find fontconfig 2024-09-06 16:05:19 -03:00
David McFarland
1f6cd35f5e dotnetCorePackages.fetchNupkg: add override mechanism 2024-09-05 23:46:24 -03:00
David McFarland
32ccfdc278 dotnetCorePackages.fetchNupkg: run missing hooks 2024-09-05 23:46:24 -03:00
David McFarland
7ea78aaf5a dotnetCorePackages.fetchNupkg: split from mkNugetDeps 2024-09-05 23:46:23 -03:00
David McFarland
2d43ecc400 buildDotnetModule: clean-up stdenv attributes
- stop binding attributes we don't care about (e.g. name, doCheck)
- remove attributes we handle in nix (e.g. useAppHost)
- inherit attributes with default values (e.g. packNupkg)
2024-09-05 23:46:23 -03:00
David McFarland
e78882326b mkNugetDeps: unpack to source/
Unpacking to the build root was a bad idea. stdenv uses dumpVars() to
create a file env-vars containing the entire environment.  This was
being installed in the derivation output, and since it contains lots of
store paths, it was bloating the closure for every nuget package.
2024-09-05 22:47:39 -03:00
David McFarland
e49642596f buildDotnetModule: set TMPDIR in fetch-deps
Some packages assume TMPDIR is unshared, even in nix-shell.
2024-09-05 22:47:39 -03:00
David McFarland
e530139caa buildDotnetModule: fix tool manifest detection 2024-09-05 22:47:38 -03:00