Commit graph

335 commits

Author SHA1 Message Date
github-actions[bot] aba75819b6
Merge master into staging-next 2024-07-03 18:01:04 +00:00
aleksana 19bbe0b3eb doc/meta: make meta.description consistent with contributing document 2024-07-04 01:22:08 +08:00
github-actions[bot] d77a3adc09
Merge master into staging-next 2024-07-03 00:02:45 +00:00
Doron Behar f42d4debf0 doc: recommend versionCheckHook whenever relevant 2024-06-28 18:03:59 +03:00
Robert Scott f52a4c6810 doc/stdenv: hardening flags: add example error for trivialautovarinit 2024-06-22 01:11:27 +01:00
Rick van Schijndel 43ce0f9ee0
Merge pull request #318256 from risicle/ris-stack-clash-protection
cc-wrapper: add stack clash protection hardening flag
2024-06-19 19:54:30 +02:00
github-actions[bot] f9c7b930b4
Merge staging-next into staging 2024-06-11 12:01:44 +00:00
Travis A. Everett 9ff9bbdb34
doc: add stdenv passthru chapter (#315909)
* doc: add stdenv passthru chapter

Broad strokes:
- create the chapter
- move existing stdenv passthru coverage into it
- move out-of-place coverage of passthru.tests from the stdenv meta chapter into it
- (try to) apply 1-sentence-per-line to text I've touched
- add legacy anchors for everything moved
- update existing links to the new anchors
- add tentative motivating text
- make nixpkgs-internal links relative/branchless

razor: if it is only ever needed by contributors, which is likely if links
refer to the latest revision of the source code, then it's for
the contributor guide

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2024-06-11 10:51:03 +02:00
Robert Scott a3f5640dd7 doc/stdenv: hardening flags: add section on stackclashprotection 2024-06-07 20:24:46 +01:00
Robert Scott 932bf58e90 doc/stdenv: hardening flags: move zerocallusedregs into "enabled by default" section
following dd80ca4d00
2024-06-07 20:17:51 +01:00
Arnout Engelen eb83125aa3
Merge pull request #315616 from doronbehar/doc/installCheckPhase
doc/meta: Mention --version as a good usecase for installCheckPhase
2024-06-07 11:41:37 +02:00
Robert Scott 062f1fa52a doc/stdenv: hardening flags: add section on trivialautovarinit 2024-06-05 23:10:20 +01:00
Robert Scott 39f39b5568 doc/stdenv: hardening flags: add section on zerocallusedregs 2024-06-05 23:10:20 +01:00
Robert Scott 65cc6d3cf1 doc/stdenv: hardening flags: add section on fortify3 2024-06-05 23:10:19 +01:00
Robert Scott a8062e526c doc/stdenv: hardening flags: add note on conditional support for some flags 2024-06-05 23:10:12 +01:00
Doron Behar 0aa9043370 doc/meta: still mention testVersion near the installCheckPhase recommendation 2024-05-30 16:33:27 +03:00
Doron Behar 444c2b6dd0 doc/meta: Mention --version as a good usecase for installCheckPhase 2024-05-30 16:09:04 +03:00
Doron Behar f4e6f41b72 doc/meta: better explain an advantage or passthru.tests 2024-05-30 16:09:03 +03:00
Doron Behar f4e7ce7719 doc/meta: small link target shortenning
Shorten the path from the link to the to actual content about
passthru.tests - the content was moved into pkgs/README.md .
2024-05-30 16:09:03 +03:00
Doron Behar 2093ef28d9 doc/meta: mention how Hydra and other tools don't run passthru.tests 2024-05-30 16:09:03 +03:00
Alyssa Ross 20ca4f5529 doc: fix meta.badPlatforms example
error: attribute 'isStatic' missing
2024-05-13 10:24:25 +02:00
Aleksana fe0c92572f
doc/stdenv: document prefixKey more precisely (#302535)
* doc/stdenv: document prefixKey more precisely

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2024-04-08 14:07:40 +02:00
K900 59bccda153 Revert "stdenv: add meta.repository field"
This reverts commit 7e1443abbb.
2024-03-30 17:19:21 +03:00
a-n-n-a-l-e-e 2809c84cfb
Merge pull request #294347 from lolbinarycat/meta.repository
stdenv: add meta.repository field
2024-03-29 13:03:04 -07:00
binarycat 7e1443abbb stdenv: add meta.repository field 2024-03-29 14:34:09 -04:00
Janne Heß fcc95ff817 treewide: Fix all Nix ASTs in all markdown files
This allows for correct highlighting and maybe future automatic
formatting. The AST was verified to work with nixfmt only.
2024-03-28 09:28:12 +01:00
Janne Heß bc77c7a973 treewide: Mark Nix blocks in markdown as Nix
This should help us with highlighting and future formatting.
2024-03-28 09:28:12 +01:00
Anderson Torres e671d3bbbd Nix docs: remove with lib; from example code
Following [Best Practices](https://nix.dev/guides/best-practices#with-scopes),
`with` is a problematic language construction and should be avoided.

Usually it is employed like a "factorization": `[ X.A X.B X.C X.D ]` is written
`with X; [ A B C D ]`.

However, as shown in the link above, the syntatical rules of `with` are not so
intuitive, and this "distributive rule" is very selective, in the sense that
`with X; [ A B C D ]` is not equivalent to `[ X.A X.B X.C X.D ]`.

However, this factorization is still useful to "squeeze" some code, especially
in lists like `meta.maintainers`.

On the other hand, it becomes less justifiable in bigger scopes. This is
especially true in cases like `with lib;` in the top of expression and in sets
like `meta = with lib; { . . . }`.

That being said, this patch removes most of example code in the current
documentation.

The exceptions are, for now
- doc/functions/generators.section.md
- doc/languages-frameworks/coq.section.md

because, well, they are way more complicated, and I couldn't parse them
mentally - yet another reason why `with` should be avoided!
2024-03-06 11:40:09 -03:00
github-actions[bot] dc4a7c97b0
Merge master into staging-next 2024-01-18 18:00:55 +00:00
Peder Bergebakken Sundt e07a2fab7f stdenv: substituteStream: deprecate --replace in favor of --replace-{fail,warn,quiet} 2024-01-14 22:07:58 +01:00
Olivia Crain f6e6a6d80e
doc: replace pcre with pcre2 in example script
https://www.pcre.org/

The `pcre` library is "now at end of life, and is no longer being
maintained," according to the upstream maintainers. Accordingly, we
should replace uses of `pcre` with its actively maintained successor,
`pcre2`, wherever possible .
2024-01-03 11:36:03 -06:00
Silvan Mosberger 59a6f908b5
Merge pull request #271797 from bzm3r/master
doc: diagram explaining what it means for a dependency to be propagated
2023-12-21 17:14:30 +01:00
Brian Merchant b37adfc009 doc: Clarify dependency propagation 2023-12-21 17:11:47 +01:00
Silvan Mosberger 6afebb56f8
Merge pull request #271360 from mattpolzin/patch-1
doc: clarify stdenv phase flag attributes
2023-12-20 20:37:41 +01:00
Danila Danko ceb8e4efd9
doc: Update stdenv.chapter.md (#274706)
Extended genericBuild description
2023-12-16 13:32:15 +01:00
Mathew Polzin fb9e48c6b9 doc: clarify stdenv phase flag attributes 2023-11-30 22:28:58 -06:00
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
Valentin Gagarin 370097ce86
remove the misleading warning on using nix-env for split outputs (#255947)
The text was originally added [0] following an apparently incomplete
research on how everything plays together. In fact, Nix propagates
`outputs` to the corresponding nested derivations, and there is some
messy behavior in Nixpkgs that only seems to propagate
`meta.outputsToInstall` in `buildEnv`[1].

This change moves the hints on how to use NixOS specifics to NixOS
module documentation (which is hopefully easier to find through
search.nixos.org), describes the default behavior in Nixpkgs (updating
a the link to the source), and removes the confusing mention of
`nix-env`.

the last of them should not be there to begin with. we don't want
beginners to use `nix-env`, as this is known to run them into trouble
eventually.

[0]: https://github.com/NixOS/nixpkgs/pull/76794
[1]: 1774d07242/pkgs/build-support/buildenv/default.nix (L66)
2023-09-25 16:23:01 +02:00
Maciej Krüger 7b737acb4a
Merge pull request #254967 from nbraud/sha256-to-hash/top-level 2023-09-15 14:36:49 +02:00
asymmetric b414f942e0
doc: link, instead of just mentioning, Nix manual (#255126)
Instead of just telling the reader to go find the relevant section of the Nix
manual, let's just link to it. Yay hypertext!
2023-09-14 17:09:39 +02:00
Maximilian Ehlers a29cf4aece
Link to usage of pkg description instead of referring to nix-env (#255127)
* Updates meta.chapter.md with a reference link to the usage of the package description field instead of referring to nix-env

---------

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-09-14 16:59:20 +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
Artturin 61c0ecea5b treewide: update mainProgram docs 2023-08-04 20:31:16 +03: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
Alyssa Ross caa0a24ab0 doc: clarify that meta.timeout is only for Hydra
I read this and expected it to be a timeout that was always applied
when building the derivation, but it's actually a Hydra-specific
thing.
2023-05-30 10:27:44 +00: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
Adam Joseph 372e0f8efc
doc/stdenv/meta.chapter.md: document meta.badPlatforms (#225276)
* doc/stdenv/meta.chapter.md: document meta.badPlatforms

We don't have any documentation for the `meta.badPlatforms` attribute.

This commit adds documentation for it.
2023-04-24 10:06:50 +02:00
Adam Joseph 8669061b61
Merge pull request #225272 from amjoseph-nixpkgs/pr/docs/broken-vs-badPlatforms
doc/stdenv/meta.chapter.md: explain difference between broken and badPlatforms
2023-04-24 05:09:01 +00:00
Adam Joseph 75bbbbd39b remove trailing whitespace 2023-04-23 21:32:40 -07:00
Adam Joseph 401430319c
Update doc/stdenv/meta.chapter.md
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-04-24 04:31:38 +00:00
Adam Joseph 467ee31e58
Update doc/stdenv/meta.chapter.md
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-04-24 04:30:37 +00:00
gilice 5d20d9ff9f doc/stdenv: don't use name in examples, highlight preferring pname 2023-04-15 16:06:29 +02:00
Adam Joseph 19d48a9257 doc/stdenv/meta.chapter.md: explain difference between broken and badPlatforms
There has been a longstanding ambiguity between `broken` and
`badPlatforms`, which seem to serve overlapping purposes.

This commit adds to the documentation two examples of constraints
which cannot be expressed by `platforms` and `badPlatforms`.

This commit also mentions `NIXPKGS_ALLOW_BROKEN=1` for overriding
`broken`.
2023-04-11 13:21:51 -07: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
Artturin 27fe8b4a39 cross-compilation.chapter.md: correct doCheck conditional 2023-01-20 22:17:19 +02: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
Valentin Gagarin 5e07823679
Merge pull request #208252 from helsinki-systems/doc/doDist
doc/stdenv: Add information about the doDist variable
2023-01-10 03:53:48 +01:00
github-actions[bot] 33aa224777
Merge master into staging-next 2023-01-09 18:01:24 +00:00
Max Hausch 540c14338d
doc/stdenv: Add information about the doDist variable 2023-01-09 08:17:53 +01:00
figsoda 3d1afabefc docs: prefer maintainers: add commits to be in the same pull request 2023-01-07 17:00:32 -05: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
Valentin Gagarin 5b9b93b9be
Merge pull request #204257 from raboof/nixpkgs-manual-update-meta-attributes
manual: update meta-attributes section
2022-12-05 09:46:46 +01: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
Arnout Engelen cfdd900d66
manual: update meta-attributes section
Promote the `maintainers = with maintainers; [ ]` syntax as that is most common
in nixpkgs, and remove the `nix-env` example which doesn't work like that anymore.
2022-12-03 10:04:15 +00:00
Artturin 341e6fd558 splice.nix: start deprecating nativeDrv and crossDrv 2022-11-19 00:04:54 +02:00
John Ericson cd27a5b436
Merge pull request #82131 from Ericson2314/bsd-cross
FreeBSD packages: Init at 13.1
2022-11-13 21:35:17 -05: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
John Ericson 66aa02f190 lib/systems: Support FreeBSD
A tricky thing about FreeBSD is that there is no stable ABI across
versions. That means that putting in the version as part of the config
string is paramount.

We have a parsed represenation that separates name versus version to
accomplish this. We include FreeBSD versions 12 and 13 to demonstrate
how it works.
2022-11-04 16:49:28 -04: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
Robert Hensing 7f0d934f9a
Merge pull request #191540 from hercules-ci/nixosTest-modular
nixosTest: make modular
2022-09-28 10:27:45 +01: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
Robert Hensing 6205d37747 nixos/testing: Improve option docs 2022-09-24 17:38:10 +01:00
Marc Scholten 41de927b70 doc: Clarify default value of sourceRoot 2022-09-03 11:13:58 +02:00
Naïm Favier 2f88279ab9
doc: specify that longDescription should be Markdown
In the spirit of RFC 72, document that longDescription is in CommonMark.
2022-08-29 20:19:34 +02:00
Valentin Gagarin 16eb45c655 doc: add note about makeWrapper and PATH modification 2022-08-19 13:11:27 -05:00
Valentin Gagarin 163e81aac0
Merge pull request #184848 from jtojnar/mkder-rec-anchor
doc: Add anchor to Recursive attributes in `mkDerivation`
2022-08-03 11:18:36 +02:00
Jan Tojnar 4cb8aa1324 doc: Add anchor to Recursive attributes in mkDerivation
So that we can link to it stably.
2022-08-02 18:01:03 +02:00
Bernardo Meurer 88c63ca65a
Merge pull request #182513 from trofi/strip-for-host-and-target
gcc: enable stripping for cross-compilers
2022-07-28 00:30:49 -07:00
Sergei Trofimovich 0f45ce6e77 setup-hooks/strip.sh: add strip{All,Debug}ListTarget variables
This change mimics existing strip{All,Debug}List variables to
allow special stripping directories just for Target.

The primary use case in mind is gcc where package has to install
both host and target ELFs. They have to be stripped by their own
strip tools accordingly.

Co-authored-by: Rick van Schijndel <Mindavi@users.noreply.github.com>
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2022-07-25 11:06:45 +01:00
Artturi 79e8669003
Merge pull request #179603 from Artturin/subplacemultiple 2022-07-24 04:14:09 +03:00
github-actions[bot] 97f117148f
Merge staging-next into staging 2022-07-17 00:02:54 +00:00
aiotter dbd75e3229 doc: update cmake doc for better readability 2022-07-16 19:10:31 +09:00
github-actions[bot] eb2dfaed06
Merge staging-next into staging 2022-07-13 12:01:56 +00:00
Robert Hensing 3c1447f807
Merge pull request #121015 from fricklerhandwerk/docs-patch-shebangs
docs: expand explanation of patchShebangs hook
2022-07-13 12:17:11 +02:00
Valentin Gagarin b7b86c4f54
add stable anchor
Co-authored-by: Jan Tojnar <jtojnar@gmail.com>
2022-07-13 10:19:23 +01:00
Artturi 4427b7dfab
Merge pull request #177538 from Artturin/fixcross3 2022-07-12 16:14:46 +03:00
Artturin 2cbce6b012 mesonEmulatorHook: check if the target binaries can be executed
this prevents having to bring in the emulator when compiling e.g. pkgsStatic
2022-07-07 21:29:53 +03:00
Randy Eckenrode 25ccd71ff8
doc: update Darwin platform doc regarding the 11.0 SDK 2022-07-07 07:52:36 -04:00
Artturin ba1efa71ae stdenv: substituteInPlace: accept multiple filenames
I don't know if getopt is available everywhere, so I did not use it.

in any case, it can be changed to use getopt in the future if
needed.
2022-06-29 22:03:19 +03:00
Artturin 6e6292279e meson: add mesonEmulatorHook
fixes building documentation while cross-compiling and other issues
Exec format error: './gdk3-scan'

added some simple documentation
2022-06-11 04:51:04 +03:00
Valentin Gagarin c3ea8c4dd9 do not mention trivial builders 2022-06-10 11:43:57 +02:00
Valentin Gagarin e132e6be3c
fix heading level 2022-06-09 13:43:21 +02:00
Valentin Gagarin f70073d72d
remove specifics on where build inputs come from in PATH
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2022-06-08 11:43:32 +02:00
Adam Joseph 81bc106e08 meta.sourceProvenance documentation: clarify it is unaffected by changes to meta.license
This commit clarifies that the meaning of the `meta.sourceProvenance`
field is independent of and unaffected by the value of the
`meta.license` field.  This is based on the intent of the RFC author
as expressed here:

  https://github.com/NixOS/nixpkgs/pull/161098#issuecomment-1081270201

This clarification is added for two reasons:

1. If in the future there should be some disagreement about what
   `sourceProvenance` to assign to a package, this may help resolve
   the disagreement.  Any interpretation of `sourceProvenance` which
   is influenced by the `meta.license` is clearly an incorrect
   interpretation.

2. If it should turn out that it is impossible to disentangle
   `sourceProvenance` from `meta.license`, this would indicate the
   need for changes to the `sourceProvenance` scheme.  That change
   might be as simple as replacing the sentence added by this commit
   with some other sentence explaining how the two fields influence
   each other.

This commit implements the recommendation made in the paragraph of
this comments which begins with "Please say this explicitly...":

  https://github.com/NixOS/nixpkgs/pull/161098#issuecomment-1081309089
2022-05-30 16:27:34 +08:00
Robert Scott 9d0784829a add initial meta.sourceProvenance documentation 2022-05-30 16:27:34 +08:00
Artturin c1fffdfffb treewide: change some glibc to stdenv.cc.libc 2022-05-27 05:57:43 +03:00
Artturin 0c4d65b21e treewide: stdenv.glibc -> glibc 2022-05-25 15:51:20 +03:00
Naïm Favier 0d6bcb513b
makeBinaryWrapper: move into its own folder
The derivation is complex enough to warrant moving out of
all-packages.nix
2022-05-10 22:07:56 +02:00
Robert Hensing 0e00acafe9 stdenv.mkDerivation: public -> finalPackage 2022-05-02 08:49:33 +02:00
Robert Hensing ca83dd1ae7 stdenv.md: Clarify overrideAttrs sentence
I weirded my English.
2022-05-02 08:49:32 +02:00
Robert Hensing d629ba27d9 Use finalAttrs instead of self for mkDerivation "overlay" 2022-05-02 08:49:31 +02:00
Robert Hensing 6d7efb3a16 stdenv.mkDerivation: Make self more overlay-like; use self.public
`self` is now arguments, like `super`. The final package is in
`self.public`.
2022-05-02 08:49:31 +02:00
Robert Hensing 2f21bc2fdb doc/stdenv/meta: tests -> passthru.tests
Make the text understandable without knowing that these are identical.

Co-authored-by: Daniël de Kok <me@github.danieldk.eu>
2022-05-02 08:49:30 +02:00
Robert Hensing a4e7085227 stdenv.mkDerivation: Allow overriding of recursive definitions
See updated manual for further explanation.
2022-05-02 08:49:26 +02:00
Valentin Gagarin 311d322feb docs: sync patchShebangs comments with manual
this is not an actual sync, but rather the manual taking the leading role.
right now it does not make sense to actually change `patch-shebangs.sh`
as that would cause a rebuild of the entire universe.

we should figure out how to keep them aligned with minimal effort both
in terms of maintenance as well as navigation for readers.
2022-04-21 12:21:49 +02:00
Valentin Gagarin 9a2ed65370 fix wording, remove too much specificity
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2022-04-21 09:27:11 +02:00
fricklerhandwerk b4d9d682c8 docs: clean up and update links to source code 2022-04-21 09:27:11 +02:00
fricklerhandwerk e3883d2ce0 docs: clarify note on existing store paths 2022-04-21 09:27:10 +02:00
fricklerhandwerk b0fce27ce2 docs: expand explanation of patchShebangs hook
- clarify motivation and mechanism
- explain usage
- add interlinks
- add links to sources to enable research

based on https://discourse.nixos.org/t/what-is-the-patchshebangs-command-in-nix-build-expressions/12656
2022-04-21 09:27:09 +02:00
Samuel Ainsworth a7fc2f6392 autoPatchelfHook: more precise dependency ignorance 2022-04-11 01:28:55 +00:00
Adam Joseph 7dbe7487b6
Update doc/stdenv/cross-compilation.chapter.md
Co-authored-by: Ben Siraphob <bensiraphob@gmail.com>
2022-04-03 17:43:52 +00:00
Adam Joseph c9d66a7fff cross-compilation.chapter.md: give examples of all depFooBar cases
This commit describes the "->" notation for dependency types in
greater detail, and uses g++ to provide examples of all six cases
(although the host->target and target->target examples are a bit
artificial).

It also adds three more rows to the table for the "->*" dependency
types for non-compiler-like packages; these dependency types were
already present in the documentation but the "*" was not really
explained.

Lastly, this commit adds a hyperlink to the table from the place where
it is mentioned in the "specifying dependencies" chapter.
2022-04-02 19:41:49 -07:00
Jan Tojnar e61eec13a5
Merge pull request #159344 from symphorien/doc-remove-references-to
doc: document remove-references-to
2022-02-19 15:17:05 +01:00
Guillaume Girol f16a62bd63 doc: document remove-references-to 2022-02-19 12:00:00 +00:00