Nixpkgs/Create and debug packages: Difference between revisions
Use official formatter |
Tomodachi94 (talk | contribs) m ryantm link -> canonical Nixpkgs manual |
||
Line 37: | Line 37: | ||
# At the top of the derivation, temporarily add <code>with import <nixpkgs> {};</code>. For now, don't worry too much about declaring every dependency as a parameter<!-- TODO clarify. "parameter of the default build function"? -->, to save time. | # At the top of the derivation, temporarily add <code>with import <nixpkgs> {};</code>. For now, don't worry too much about declaring every dependency as a parameter<!-- TODO clarify. "parameter of the default build function"? -->, to save time. | ||
# Build the package with <code>nix-build</code>. Iterate on tweaking the derivation and rebuilding until it succeeds. | # Build the package with <code>nix-build</code>. Iterate on tweaking the derivation and rebuilding until it succeeds. | ||
# For large projects with long compile times, you can use <code>nix-shell</code> instead to [https:// | # For large projects with long compile times, you can use <code>nix-shell</code> instead to [https://nixos.org/manual/nixpkgs/stable/#sec-building-stdenv-package-in-nix-shell run the individual phases]. | ||
# At this stage, you may encounter some build quirks of the project. Compile-time errors will hopefully explain what you're missing. For example [https://github.com/NixOS/nixpkgs/blob/643ce4bd0f057bc0b90f0faebeb83a3b14f01674/pkgs/tools/package-management/micromamba/default.nix#L6-L10 micromamba needs a specialized build of libsolv]. | # At this stage, you may encounter some build quirks of the project. Compile-time errors will hopefully explain what you're missing. For example [https://github.com/NixOS/nixpkgs/blob/643ce4bd0f057bc0b90f0faebeb83a3b14f01674/pkgs/tools/package-management/micromamba/default.nix#L6-L10 micromamba needs a specialized build of libsolv]. | ||
# Read on below for further steps. | # Read on below for further steps. |