Nixpkgs/Create and debug packages: Difference between revisions
imported>Hypnosis2839 →Packages from source code: Remove references to nix3 CLI, fix instructions for phase-by-phase builds, clean up tone, remove repetitive phrasing |
imported>Hypnosis2839 m →Package from source code: deduplicate info |
||
| 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 | # For large projects with long compile times, you can use <code>nix-shell</code> instead to [https://ryantm.github.io/nixpkgs/stdenv/stdenv/#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. | ||