summary refs log tree commit diff
path: root/doc/stdenv.xml
Commit message (Collapse)AuthorAge
* setup-hooks: Add autoPatchelfHookaszlig2018-02-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I originally wrote this for packaging proprietary games in Vuizvui[1] but I thought it would be generally useful as we have a fair amount of proprietary software lurking around in nixpkgs, which are a bit tedious to maintain, especially when the library dependencies change after an update. So this setup hook searches for all ELF executables and libraries in the resulting output paths after install phase and uses patchelf to set the RPATH and interpreter according to what dependencies are available inside the builder. For example consider something like this: stdenv.mkDerivation { ... nativeBuildInputs = [ autoPatchelfHook ]; buildInputs = [ mesa zlib ]; ... } Whenever for example an executable requires mesa or zlib, the RPATH will automatically be set to the lib dir of the corresponding dependency. If the library dependency is required at runtime, an attribute called runtimeDependencies can be used to list dependencies that are added to all executables that are discovered unconditionally. Beside this, it also makes initial packaging of proprietary software easier, because one no longer has to manually figure out the dependencies in the first place. [1]: https://github.com/openlab-aux/vuizvui Signed-off-by: aszlig <aszlig@nix.build> Closes: #34506
* stdenv: Force `doCheck` and `doInstallCheck` to be false when we are cross ↵John Ericson2018-01-09
| | | | | | | | compiling I hope this will be a temporary measure. If there is consensus around issue #33599, then we can follow an explicit `dontCheck`, but default to not checking during cross builds when none is given.
* doc: More information in the setup hook section of the stdenv chapterJohn Ericson2017-12-30
|
* doc: Document `dontStripHost` and `dontStripTarget`John Ericson2017-12-30
|
* doc: Add "Specifying Dependencies" section to the stdenv chapterJohn Ericson2017-12-30
| | | | | | | | This accounts for all the new dependencies and propagation logic changes I'm about to add. Fixes #1915---with this change I think the distinction is finally clear enough.
* Merge remote-tracking branch 'upstream/staging' into binutils-wrapperJohn Ericson2017-12-13
|\
| * doc: document enableParallelBuilding being unsetOrivej Desh2017-12-07
| |
* | doc: Document Bintools WrapperJohn Ericson2017-12-13
|/ | | | Shrunk the CC Wrapper documentation so as not to be repetative.
* Typo in manual#stdenv - propagatedNativeBuildInputsBruno Bieth2017-11-13
|
* docs: add note about makeFlags quotingDaiderd Jordan2017-11-01
|
* doc: Document forthcomming NIX_DEBUG degredationsJohn Ericson2017-09-26
|
* doc: Describe CC Wrapper in more detailJohn Ericson2017-08-20
| | | | | | | The main motivation for this is to have something to google for LD=$CC. Eventually, this should probably be moved to another section, but we can deal with that later.
* cross stdenv adaptor: Support --host --build --target across the boardJohn Ericson2017-06-22
| | | | | | | | Packages get --host and --target by default, but can explicitly request any subset to be passed as needed. See docs for more info. rustc: Avoid hash breakage by using the old (ignored) dontSetConfigureCross when not cross building
* Merge pull request #26345 from vcunat/p/doc-override-phasesFrederik Rietdijk2017-06-19
|\ | | | | nixpkgs manual: advise against overriding whole phases
| * nixpkgs manual: advise against overriding whole phasesVladimír Čunát2017-06-03
| | | | | | | | | | | | I've seen that mistake at least a few times already, e.g. https://github.com/NixOS/nixpkgs/pull/26209#issuecomment-305925562 It might perhaps seem counter-intuitive if one doesn't know nixpkgs well.
* | doc: Fix some typosJan Tojnar2017-06-11
|/
* Merge #19328: mkWrapper fix and docsVladimír Čunát2017-02-05
|\
| * stdenv: document makeWrapperProfpatsch2016-10-08
| | | | | | | | | | Add function documentation to `makeWrapper`. Also add user documentation to the nixpkgs manual.
* | nixpkgs doc: Talk about nativeBuildInputs and propgatedNativeBuildInputsJohn Ericson2017-01-24
| | | | | | | | | | | | Do so in the stdenv section where the other two are discussed. This can be done without brining up cross-compilation by talking about build-time vs run-time.
* | doc: improve hardening docsFranz Pletz2017-01-20
| | | | | | | | Fixes #18887.
* | stdenv/stripHash: print to stdout, not to variableProfpatsch2016-10-11
|/ | | | | | | | | | `stripHash` documentation states that it prints out the stripped name to the stdout, but the function stored the value in `strippedName` instead. Basically all usages did something like `$(stripHash $foo | echo $strippedName)` which is just braindamaged. Fixed the implementation and all invocations.
* manual: switch an example from md5 to sha256.Michael Raskin2016-10-07
|
* nixpkgs doc: add installCheck phaseEric Sagnes2016-09-28
|
* Merge pull request #9607 from nckx/update-docDomen Kožar2016-08-31
|\ | | | | doc: specify that *Flags are string lists
| * doc: specify that *Flags are string listsTobias Geerinckx-Rice2015-09-02
| |
* | hardening docs: fix typoRobin Gloster2016-08-13
| |
* | doc: complete the hardening documentationFranz Pletz2016-08-12
| |
* | Merge remote-tracking branch 'upstream/master' into hardened-stdenvRobin Gloster2016-07-25
|\ \
| * | nixpkgs manual: document the paxctl setup-hookJoachim Fasting2016-07-23
| | |
* | | Merge remote-tracking branch 'upstream/master' into hardened-stdenvRobin Gloster2016-07-15
|\| |
| * | Revert "stdenv: introduce baseHash() to replace stripHash()"zimbatm2016-06-25
| | | | | | | | | | | | | | | | | | Introduced by mistake This reverts commit e71a5cb87841f0af4a2279517b77a9a07ba394c0.
| * | stdenv: introduce baseHash() to replace stripHash()zimbatm2016-06-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | stripHash uses a global variable to communicate it's computation results, but it's not necessary. You can just pipe to stdout in a subshell. A function mostly behaves like just another command. baseHash() also introduces a suffix-stripping capability since it's something the users of the function tend to use.
| * | doc: Update stripHash documentationTom Boettcher2016-06-21
| | | | | | | | | | | | The documentation now matches the behavior of the function.
* | | Merge remote-tracking branch 'origin/master' into hardened-stdenvFranz Pletz2016-05-18
|\| |
| * | manual/substituteAll: document filtered variablesProfpatsch2016-05-07
| | | | | | | | | | | | Some variables are filtered out as of #14907.
* | | Merge remote-tracking branch 'upstream/master' into hardened-stdenvRobin Gloster2016-04-18
|\| |
| * | nixpkgs manual: add multiple-output chapterVladimír Čunát2016-04-07
| | |
* | | nixpkgs docs: stackprotector hardeningRobin Gloster2016-02-22
| | |
* | | nixpkgs docs: format hardeningRobin Gloster2016-02-22
|/ /
* | docs: Mention autoreconfHook in Package Setup HooksBenjamin Staffin2016-01-23
| |
* | nixpkgs manual: add a section about passthruNikolay Amiantov2016-01-21
| |
* | nixpkgs manual: mention preferLocalBuild and enableParallelBuildingNikolay Amiantov2016-01-21
| |
* | Revert "Fixed typo."Peter Simons2015-11-24
| |
* | Fixed typo.Rommel M. Martinez2015-11-23
| |
* | manual: document Qt packaging toolsThomas Tuegel2015-09-27
| |
* | Enable separate debug infoEelco Dolstra2015-09-17
|/ | | | | | | | | | | You can now pass separateDebugInfo = true; to mkDerivation. This causes debug info to be separated from ELF binaries and stored in the "debug" output. The advantage is that it enables installing lean binaries, while still having the ability to make sense of core dumps, etc.
* doc: document dontMoveSbin variablePascal Wittmann2015-07-09
|
* doc: fix referencesPascal Wittmann2015-06-02
|
* doc: add section idsPascal Wittmann2015-05-31
| | | | | This commit also use enforces consistent use of the prefixes "sec" for section and "ssec" for subsection.
* doc/stdenv: fix manual build after #7711Vladimír Čunát2015-05-09
|