Commit Graph

112 Commits

Author SHA1 Message Date
Frederik Rietdijk
a1a5ea5943 stdenv: make checkInputs native
We can't run the checkPhase when build != host, so we may as well make
the checkInputs native.

This signicantly improves the situation of Python packages when enabling
strictDeps.
2019-01-13 14:43:18 +01:00
Orivej Desh (NixOS)
9a21967f0a
stdenv: prune libtool files by default (#51767)
See the motivation in fd97db43bc (#41819).
2019-01-11 13:20:46 +00:00
Jörg Thalheim
1b146a8c6f
treewide: remove paxutils from stdenv
More then one year ago we removed grsecurity kernels from nixpkgs:
https://github.com/NixOS/nixpkgs/pull/25277

This removes now also paxutils from stdenv.
2018-12-22 12:55:05 +01:00
Jan Tojnar
aead6e12f9
Merge remote-tracking branch 'upstream/master' into staging 2018-12-16 22:55:06 +01:00
worldofpeace
2417859932
doc/breakpointHook: correct typos 2018-12-13 21:36:29 +00:00
Dmitry Kalinkin
694d32f47d
Update doc/stdenv.xml
Co-Authored-By: guibou <guillaum.bouchard@gmail.com>
2018-12-13 18:11:52 +01:00
Guillaume Bouchard
d5c931992d
Fix english in stdenv.xml 2018-12-13 17:23:51 +01:00
Piotr Bogdan
743d03bafc doc/stdenv: document dontPruneLibtoolFiles 2018-12-09 23:17:16 +00:00
Matthew Bauer
7a00e80329 ghc: don’t add libiconv automatically
ghc needs it to fail to correctly detect it for later.
2018-12-05 13:17:40 -06:00
Jan Tojnar
4920f0c0ad
Merge pull request #50977 from jtojnar/parallel-update.nix
update.nix: Run update scripts in parallel
2018-12-02 01:23:39 +01:00
Jan Tojnar
59a94b57f0
update.nix: Run update scripts in parallel
To make updating large attribute sets faster, the update scripts
are now run in parallel.

Please note the following changes in semantics:

- The string passed to updateScript needs to be a path to an executable file.
- The updateScript can also be a list: the tail elements will then be passed
  to the head as command line arguments.
2018-12-01 19:17:13 +01:00
Jörg Thalheim
afbdeb7b9b
Merge pull request #50802 from aszlig/autopatchelf-improvements
autoPatchelfHook: Fixes/improvements for Android SDK emulator
2018-11-27 10:25:26 +00:00
Jörg Thalheim
3324503824
doc: add example usage for breakpointHook (#51005) 2018-11-26 11:54:23 +00:00
aszlig
503b41b9b2
doc/stdenv: Document autoPatchelfHook changes
First of all, this makes the existing documentation a bit more clear on
what autoPatchelfHook is all about, because after discussing with
@svanderburg - who wrote a similar implementation - the rationale about
autoPatchelfHook wasn't very clear in the documentation.

I also added the recent changes around being able to use autoPatchelf
manually and the new --no-recurse flag.

Signed-off-by: aszlig <aszlig@nix.build>
2018-11-20 00:11:31 +01:00
Matthew Bauer
9d3108c3ae doc/cross-compilation: fixup
More cleanups and stuff. May need to be split up.
2018-11-19 13:03:23 -06:00
Matthew Bauer
4a49921a69 doc/stdenv: more changes
Lots of reworking here. May need to be split up.
2018-11-19 13:03:22 -06:00
Matthew Bauer
49e5bd0dbe doc/stdenv: document more setup hook
Here I document setup hooks provided by:

- cmake
- xcbuildHook
- meson
- ninja
- unzip
- wafHook
- scons
2018-11-19 13:03:09 -06:00
Matthew Bauer
4621d14b4a doc/stdenv: document prefixKey
This seems like a useful thing to document
2018-11-19 13:02:31 -06:00
Matthew Bauer
b01613c9ce doc: move checkInputs to check phase section
This makes more sense in context.
2018-11-19 13:02:31 -06:00
Matthew Bauer
32ddbe3da9 doc: typo fixes 2018-11-19 13:02:17 -06:00
Andrei Lapshin
e198f9e42f
Fix typo in nixpkgs manual 2018-11-19 09:09:02 +03:00
Benjamin Hipple
286e7a57c4 docs: fix minor grammar issues in the manual 2018-11-14 21:40:47 -05:00
Eelco Dolstra
78090f4f09
Remove preferLocalBuild documentation
It's incorrect (preferLocalBuild does not prevent uploading to binary
caches) and is not a stdenv attribute (it's already documented in the
Nix manual).
2018-11-07 11:45:40 +01:00
Jörg Thalheim
764d165f43
doc: apply make format 2018-10-26 11:13:54 +01:00
Jörg Thalheim
7f80fb2db4
doc: extend breakpointHook documentation 2018-10-26 11:13:24 +01:00
Raphael Borun Das Gupta
aa77e3aa4f nixpkgs docs: add missing spaces between words 2018-10-26 00:35:21 +02:00
Raphael Borun Das Gupta
bea0b3021c nixpkgs docs: remove spurious ">" 2018-10-26 00:29:27 +02:00
Jörg Thalheim
325a5699cb
doc/breakpointHook: add documentation 2018-10-25 10:19:42 +01:00
John Children
aec67d299c doc/stdenv: libaries -> libraries (#47011)
This commit corrects a minor typo in the stdenv portion of the
documentation for the nix language.
2018-09-20 18:45:54 +01:00
Graham Christensen
2eea92a1dc
nixpkgs docs: give linked things IDs 2018-09-01 15:20:57 -04:00
Daiderd Jordan
477efb9d87
Merge pull request #42464 from LnL7/manual-installcheck
doc: add installCheckTarget and installCheckFlags to manual
2018-08-31 20:08:16 +02:00
James Deikun
bd63de114e stdenv/build-support: support .tbz and .txz tarballs 2018-07-30 15:30:16 -04:00
Daiderd Jordan
8500e28d7b
doc: add installCheckTarget and installCheckFlags to manual
Fixes #42393
2018-06-23 21:24:52 +02:00
Samuel Dionne-Riel
6bf54191fb doc: Fixes squishedtogether definitions. 2018-05-31 21:09:35 -04:00
Samuel Dionne-Riel
a45edd9024 doc: ran make format
With visual inspection that nothing got worse.
2018-05-31 21:03:37 -04:00
John Ericson
cf06e42d1c Merge remote-tracking branch 'upstream/master' into staging 2018-05-03 16:35:36 -04:00
Graham Christensen
77161de454
nixpkgs docs: format =) 2018-05-01 19:54:21 -04:00
Jan Malakhovski
87651b32fe stdenv: steal checkInputs from buildPythonPackage
Note that a bunch of non-python packages use this attribute already.
Some of those are clearly unaware of the fact that this attribute does
not exists in stdenv because they define it but don't to add it to
their `bulidInputs` :)

Also note that I use `buildInputs` here and only handle regular
builds because python and haskell builders do it this way and I'm not
sure how to properly handle the cross-compilation case.
2018-04-26 20:22:51 +00:00
aszlig
1cba74dfc1
setup-hooks: Add autoPatchelfHook
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
2018-02-10 00:27:24 +05:30
John Ericson
4e907dbca1 stdenv: Force doCheck and doInstallCheck to be false when we are cross 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.
2018-01-09 12:37:12 -05:00
John Ericson
edfe42f3ba doc: More information in the setup hook section of the stdenv chapter 2017-12-30 22:42:14 -05:00
John Ericson
b55999b28f doc: Document dontStripHost and dontStripTarget 2017-12-30 22:41:44 -05:00
John Ericson
7ffc4e1b2f doc: Add "Specifying Dependencies" section to the stdenv chapter
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.
2017-12-30 22:35:59 -05:00
John Ericson
a0b1ebeee9 Merge remote-tracking branch 'upstream/staging' into binutils-wrapper 2017-12-13 16:14:47 -05:00
John Ericson
91ca46f693 doc: Document Bintools Wrapper
Shrunk the CC Wrapper documentation so as not to be repetative.
2017-12-13 16:08:18 -05:00
Orivej Desh
683047f8ab doc: document enableParallelBuilding being unset 2017-12-07 08:52:42 +00:00
Bruno Bieth
0e05dfcfa2 Typo in manual#stdenv - propagatedNativeBuildInputs 2017-11-13 17:55:18 +01:00
Daiderd Jordan
1167fde2b2 docs: add note about makeFlags quoting 2017-11-01 17:50:15 +01:00
John Ericson
bc0aec5d97 doc: Document forthcomming NIX_DEBUG degredations 2017-09-26 11:24:19 -04:00
John Ericson
0578dda8e1 doc: Describe CC Wrapper in more detail
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.
2017-08-20 15:49:50 -04:00