1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-19 04:02:10 +00:00
Commit graph

101 commits

Author SHA1 Message Date
Ivan Mincik 57801428da doc/stdenv: update manual phases execution instructions
Update instructions for manual build phases execution via `nix-shell` to
cover all phases. There is no easy way of getting those commands, so it
makes a sense to have them all properly documented.
2023-11-20 00:06:11 +01:00
Arnout Engelen 97b0ae26f7
doc: avoid 'simply' (#266434)
While the word 'simply' is usually added to encourage readers, it often has the
opposite effect and may even appear condescending, especially when the reader
runs into trouble trying to apply the suggestions from the documentation. It is
almost always an improvement to simply drop the word from the sentence.

(there are more possible improvements like this, we can apply those in separate
PRs)
2023-11-09 21:48:05 +01:00
Yueh-Shun Li 9d6da5bd1e doc: rename sub-section Recursive attributes in stdenv -> Fixed-point arguments in stdenv
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-11-07 19:58:54 +00:00
Jade Lovelace 0504bc63e4
doc/stdenv: rewrite manual build procedure to be closer to an auto-build (#262137)
* doc/stdenv: rewrite manual build procedure to be closer to an auto-build

This is based on
<https://jade.fyi/blog/building-nix-derivations-manually/> plus some
more original research.

The previous version of this section did not work for your choice of
simple Haskell package, e.g. haskellPackages.hscolour, due to things
like `compileBuildDriverPhase` and other custom phases that it
does not address at all.

It seems more correct to use genericBuild in development to harmonize it
with what is actually done.

I feel a little bit like I am committing a sin by suggesting using the
experimental CLI in the manual (afaict I am the first to do this), but I
have given the old version of the command, and there are justifiable
reasons to do it:
* The noted limitations with env-vars are fixed. The one with the
  non-empty temp directory was one I ran into myself and oh boy was that
  not fun to debug.
* Additionally the outputs are set *before* sourcing `setup.sh`: there
  is an issue with nix-shell where the original version of `$out` winds
  up in `NIX_LDFLAGS` due to _addRpathPrefix, which means that resulting
  executables may not run properly.

It is sad that `nix develop` propagates a wrong value of `SHELL` to
builders, though. It is equally sad that `nix-shell` is essentially
abandoned upstream, with undocumented and not insignificant differences
from `nix develop`.

For the exact script differences:
17e6b85d05/src/nix-build/nix-build.cc (L516-L551)
db026103b1/src/nix/get-env.sh

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-10-23 01:53:23 +02:00
Alejandro Sánchez Medina cbd1748558
nixpkgs manual: add an alternative example in stdenv-separateDebugInfo (#257861)
* nixpkgs manual: add an alternative example in stdenv-separateDebugInfo

This change gets rid of the indirect reference to `nix-env -i` usage
and shows how to achieve the same goal with a shell expression.

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-09-29 10:23:22 +02:00
Felix Yan 8ac0795c1f doc: fix wrong flag in description of bindnow
`-z bindnow` doesn't exist. The actual flag added is `-z now`.
2023-09-27 09:59:56 -03:00
Maciej Krüger 7b737acb4a
Merge pull request #254967 from nbraud/sha256-to-hash/top-level 2023-09-15 14:36:49 +02:00
nicoo fe138d36c9 doc: Replace sha256 with hash where appropriate 2023-09-13 17:24:49 +00:00
Artturi 31c9deb4f7
Merge pull request #218783 from timbertson/stripExcludeExtensions 2023-09-05 00:37:17 +03:00
Tim Cuthbertson 0bffcc3f3c setup-hooks/strip: add stripExclude 2023-09-03 20:18:10 +03:00
Artturi ffc35fc054
Merge pull request #245583 from galenhuntington/doc-fix 2023-08-29 22:46:56 +03:00
Nick Hu ae8aba3836
doc/stdenv/stdenv.chapter.md: add information about nix-update-script and nixpkgs-update 2023-08-15 10:13:39 +01:00
Jan Malakhovski ccbb065c88 doc: make sourceRoot and setSourceRoot documentation match the implementation, fix examples 2023-08-03 16:32:05 +00:00
Galen Huntington b0dc3d26f2
doc/stdenv: Minor syntax fix. 2023-07-26 12:15:32 -07:00
pennae be4d19ff1a doc: render nixpkgs manual with nrd
also updates nixdoc to 2.3.0. the nixdoc update is not a separate commit
because that would leave the manual build broken for one commit,
potentially breaking bisects and rebases.
2023-07-01 20:59:29 +02:00
Valentin Gagarin b4b928466a
Merge pull request #237068 from pennae/manual-normalization 2023-06-13 07:35:06 +02:00
Andrew 1b6f640687
doc: correct typos and spelling (#237098) 2023-06-11 02:15:43 +02:00
pennae 2ecc93d6fe doc: normalize markdown for nixos-render-docs
pandoc recognizes `::: note` admonitions, nixos-render-docs only
recognizes `::: {.note}`. surprisingly pandoc also emits the correct
docbook tags for `[](#xref)`s, so we can use that too.
2023-06-10 18:17:05 +02:00
Nicolas Benes 142c24711e doc: fix typo 2023-05-20 22:09:52 +02:00
Jan Tojnar 8bf1967964 doc/stdenv/Dependencies: fix inference rule var name
t0 is mentioned in the conclusion so we cannot use placeholder in the premise.
2023-05-18 18:10:10 +02:00
gilice 5d20d9ff9f doc/stdenv: don't use name in examples, highlight preferring pname 2023-04-15 16:06:29 +02:00
pennae 052bb41410 doc: assign ids to many headings
without stable ids on headings we cannot generate stable links to these
headings. nrd complains about this, but the current docbook workflow
does not.

a few generated ids remain, mostly in examples and footnotes. most of
the examples are generated by nixdoc (which has since gained MD export
functions, and the MD export does generate IDs).
2023-03-27 22:39:11 +02:00
Valentin Gagarin 99c5413961
Merge pull request #200951 from jtojnar/docs-update-script-commit-feature
docs/stdenv: Document updateScript features
2023-03-21 12:50:35 +01:00
Jan Tojnar 90074803e6 docs/stdenv: Document updateScript features
This was removed in c1b05442ff
for stabilization but it has worked quite well.
2023-03-21 11:59:08 +01:00
Jan Tojnar d0e8c7087d docs/stdenv: Document updateScript execution 2023-03-21 11:59:08 +01:00
Arnout Engelen 8ad8f9d266
doc/stdenv: add quotes to run phases with newlines
Without quotes newlines in environment variables get converted to spaces,
so any overridden phases would not work.
2023-03-17 13:30:57 +01:00
Artturin 6b2a05e190 treewide: manual fixups for
treewide: use toString on list NIX_CFLAGS_COMPILE
treewide: move NIX_CFLAGS_COMPILE to the env attrset
2023-02-22 21:23:04 +02:00
milahu 121fbb3cf7
docs: Building a stdenv package in nix-shell (#216650)
* docs: Building a stdenv package in nix-shell
2023-02-16 19:21:12 +01:00
Guillaume Girol 0a598d6ea5
doc: add a simpler explanation of dependencies (#213403)
Co-authored-by: Jan Tojnar <jtojnar@gmail.com>
Co-authored-by: pennae <82953136+pennae@users.noreply.github.com>
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-02-10 18:41:31 +01:00
Naïm Favier f98c4eac33
doc/stdenv: fixup #212642 2023-02-07 12:47:28 +01:00
github-actions[bot] 578f1ba854
Merge master into staging-next 2023-01-26 18:01:29 +00:00
Naïm Favier edb26159db
doc/stdenv: clarify default check target 2023-01-25 18:26:18 +01:00
Guillaume Girol d26caea94b doc: adapt to nativeCheckInputs 2023-01-21 16:42:10 +01:00
Guillaume Girol 90c78aee6c Merge branch 'nativeCheckInputs' into staging-nativeCheckInputs 2023-01-21 12:00:00 +00:00
Robert Hensing 01d7f19346 multi-outputs.sh: Improve _assignFirst error message
Closes #16182

This improves the error message

    Error: _assignFirst found no valid variant!

which occurred when the set of outputs was not sufficient to set
the various outputDev, outputBin, etc variables. Specifically, this
would mean that "out" is not among the outputs, which is valid for
a derivation.

This changes the message to something like

    error: _assignFirst: could not find a non-empty variable to assign to outputDev. The following variables were all unset or empty: dev out.
          If you did not define an "out" output, make sure to define all the specific required outputs: define an output for one of the unset variables.

While this isn't a full explanation of what stdenv can and can not do,
I think it's vast improvement over the 0 bits of information that it
used to provide. This at least gives a clue as to what's going on, and
even suggests a fix, although probably multiple such fixes are required
in an instance where someone starts with a no-out derivation from scratch
(and decide to persist).
2023-01-16 12:57:01 +01:00
Martin Weinelt c1e6c6af69 Merge remote-tracking branch 'origin/master' into staging-next 2023-01-11 03:51:33 +01:00
Max Hausch 540c14338d
doc/stdenv: Add information about the doDist variable 2023-01-09 08:17:53 +01:00
github-actions[bot] dc7ebb0163
Merge staging-next into staging 2022-12-18 18:01:41 +00:00
figsoda 403e25e3e3 doc: fix typos 2022-12-17 18:21:48 -05:00
Artturin fda61e9066 add docs for prependToVar and appendToVar 2022-12-10 04:22:11 +02:00
Colin Arnott bac379f30a
doc: use sri hash syntax
The nixpkgs manual contains references to both sri hash and explicit
sha256 attributes. This is at best confusing to new users. Since the
final destination is exclusive use of sri hashes, see nixos/rfcs#131,
might as well push new users in that direction gently.

Notable exceptions to sri hash support are builtins.fetchTarball,
cataclysm-dda, coq, dockerTools.pullimage, elixir.override, and
fetchCrate. None, other than builtins.fetchTarball, are fundamentally
incompatible, but all currently accept explicit sha256 attributes as
input. Because adding backwards compatibility is out of scope for this
change, they have been left intact, but migration to sri format has been
made for any using old hash formats.

All hashes have been manually tested to be accurate, and updates were
only made for missing upstream artefacts or bugs.
2022-12-04 06:12:18 +00:00
github-actions[bot] 4517d658d3
Merge master into staging-next 2022-11-08 18:01:16 +00:00
Ryan Mulligan 962a810513 nixpkgs/doc/stdenv: fix admonition class
Change to match the formatting of the other admonitions that use
classes.

This was breaking the mmdoc output.
2022-11-07 13:32:21 -08:00
Daniel Barter 77bd639c4c cc-wrapper: adding a cc-wrapper-hook to the cc-wrapper 2022-10-26 09:33:43 -07:00
Robert Hensing c1311d1223 doc/stdenv: Move Other hooks after all hooks 2022-10-13 21:15:19 +02:00
Robert Hensing 53088569de doc/stdenv: Clarify that the wrappers come with hooks 2022-10-13 21:14:21 +02:00
Robert Hensing f4c6286284 doc/stdenv: Improve language a bit 2022-10-13 21:14:04 +02:00
Robert Hensing 2db8de920e doc: Move non-stdenv hooks out of stdenv chapter 2022-10-13 15:40:27 +02:00
Robert Hensing 5b055190e3 doc/stdenv: Clarify status of the hooks 2022-10-13 13:36:47 +02:00
José Romildo 1f239257c5 maintainers/scripts/update.nix: make package name, pname and old version available to the update script 2022-09-26 22:16:19 -03:00