summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorDanny Milosavljevic <dannym@friendly-machines.com>2026-01-09 23:57:19 +0100
committerDanny Milosavljevic <dannym@friendly-machines.com>2026-01-19 19:21:52 +0100
commit811ee1ab9fb585130fe0c27df03f10dc21b1e7f7 (patch)
treec84206ea23bdfac797a1316ba20979a4934e24d9 /doc
parent1c477aea8d97933b7594a48b58fd13fb7dd7070f (diff)
import: nuget: Add tests and documentation.
* guix/import/nuget.scm: Prevent optimizing small functions away completely. * tests/import/nuget.scm: New file. * doc/guix.texi (nuget): Document it. * Makefile.am (SCM_TESTS): Add reference to it. Fixes: guix/guix#5483 Change-Id: Id58932fe404a11a03e61a91d3b6177b39548f1bc
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi44
1 files changed, 44 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index a6d6d655fb5..a22230e1538 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -14709,6 +14709,50 @@ and generate package expressions for all those packages that are not yet
in Guix.
@end table
+@item nuget
+@cindex nuget
+@cindex .NET
+Import metadata from @uref{https://www.nuget.org/, NuGet}, the package
+manager for .NET. Information is taken from the JSON-formatted metadata
+provided through NuGet's v3 API at @code{api.nuget.org} and includes
+most relevant information, including package dependencies.
+There are some caveats, however. The metadata does not always include
+repository information, in which case the importer attempts to extract
+it from the symbol package (@file{.snupkg}) if available.
+Additionally, dependencies are grouped by target framework in NuGet,
+but the importer flattens all dependency groups into a single list.
+
+The command below imports metadata for the @code{Avalonia} .NET package:
+
+@example
+guix import nuget Avalonia
+@end example
+
+You can also recursively import all dependencies:
+
+@example
+guix import nuget -r Avalonia
+@end example
+
+@table @code
+@item --archive=@var{repo}
+@itemx -a @var{repo}
+Specify the archive repository. Currently only @code{nuget} is supported,
+which uses the official NuGet package repository at @code{nuget.org}.
+
+@item --recursive
+@itemx -r
+Traverse the dependency graph of the given upstream package recursively
+and generate package expressions for all those packages that are not yet
+in Guix.
+
+@item --license-prefix=@var{prefix}
+@itemx -p @var{prefix}
+Add a custom prefix to license identifiers in the generated package
+definitions. This can be useful when license identifiers need to be
+qualified with a module name.
+@end table
+
@item minetest
@cindex minetest
@cindex ContentDB