Commit graph

582 commits

Author SHA1 Message Date
Pierre-Etienne Meunier 8e5ab6e7ac BuildRustCrate: more general overrides, and handling the "dylib" crate type (#35171)
* buildRustCrate: adding a symlink from libblah-xxxxx.so to libblah.so
* BuildRustCrate: overriding phases
* Carnix: 0.6.5 -> 0.6.6
* Fixing symlink_dependencies --buildDep
* Shorter symlink_dependencies
* running `runHook postBuild` *after* the build
2018-02-20 08:55:04 +01: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
Michael Raskin 718de7c2e4
Merge pull request #33306 from bgamari/patch-2
haskell: Recommend use of hoogle --local
2018-02-06 21:34:10 +00:00
Michael Raskin 8eba2a5be8
Merge pull request #31312 from binarin/emacs-package-set-overrides
emacs-packages: Cleanup and document for overrides
2018-02-06 21:22:23 +00:00
pe@pijul.org 8f20e7ce3a carnix: 0.6.0 -> 0.6.5 2018-02-03 22:31:54 +00:00
John Ericson 94a2af91eb doc: Cross chapter: Add note on why use example platforms 2018-01-26 12:38:34 -05:00
John Ericson e316ba1fc4 doc: chap cross: Make example command stick out more
It should be in a <programlisting>, not <command>, tag.
2018-01-26 12:33:14 -05:00
Frederik Rietdijk 2ea3db2830 Python docs: remove name attribute
The `name` attribute is filled in when `pname` and `version` are specified.
See https://github.com/NixOS/nixpkgs/pull/31173
2018-01-16 18:01:06 +01:00
Jörg Thalheim bb9bcfa295 doc/cross-compilation: fixes typos 2018-01-11 16:26:30 +00:00
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
Ben Gamari fa085fc07b
haskell: Recommend use of hoogle --local
This works around the browser security restriction of 
disallowing links from http:// to file://.
2018-01-01 19:16:23 -05:00
John Ericson 4d2b763817
Merge pull request #26805 from obsidiansystems/cross-elegant
Make cross compilation elegant
2017-12-30 22:58:02 -05:00
John Ericson 8a434b625d doc: Add cross cookbook
An excellent suggestion from @bgamari
2017-12-30 22:42:15 -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
Piotr Bogdan 7f91eb94be haskell docs: change wording in the "Miscellaneous Topics" section 2017-12-26 12:19:46 +00:00
zimbatm a9ae16c2b9 doc: fix typo 2017-12-24 00:40:01 +00:00
Yegor Timoshenko 108f76c927
Merge pull request #31668 from rycee/doc/naming
docs: clarify package and module option naming
2017-12-23 17:12:29 +03:00
zimbatm adc5c9b83d
mkShell: add builder (#30975) 2017-12-20 23:42:07 +00:00
Leonid Onokhov 574528024d nixpkgs/manual: fix build with new pandoc 2017-12-20 14:22:05 +00:00
Yegor Timoshenko a0aeb2381e doc: system.environmentPackages -> environment.systemPackages 2017-12-20 02:19:43 +00:00
Vladimír Čunát 1bc288591e
coqPackages docs: fix typo (and thus manual build) 2017-12-19 11:34:54 +01:00
Vladimír Čunát 4a2340ff6b
Merge branch 'staging' 2017-12-19 10:27:13 +01:00
Vincent Laporte 5642f4ac6f
coqPackages: update documentation 2017-12-18 15:30:37 +00:00
Vladimír Čunát 24d81d6332
Merge branch 'master' into staging 2017-12-15 21:40:23 +01:00
Vaibhav Sagar 4bbb9fca51 Update haskell.md
Unindent prose that was incorrectly being displayed as code.
2017-12-14 11:21:18 +08: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
Pierre-Étienne Meunier 5a0d954156 add buildRustCrate function to build rust crates 2017-12-12 04:58:45 -06:00
Vladimír Čunát 2309acf723
Merge branch 'master' into staging 2017-12-09 21:00:07 +01:00
Frederik Rietdijk 41ff561b75 Python docs: fix nix-shell example 2017-12-08 17:06:56 +01:00
Frederik Rietdijk 19be72f880 Revert "Python docs: fix nix-shell example"
This reverts commit aa2326682c.

Forgot parentheses...
2017-12-08 17:06:03 +01:00
Frederik Rietdijk aa2326682c Python docs: fix nix-shell example 2017-12-08 17:05:19 +01:00
Orivej Desh 683047f8ab doc: document enableParallelBuilding being unset 2017-12-07 08:52:42 +00:00
Jörg Thalheim 4657fc893a
Merge pull request #32174 from lheckemann/weechat-all-default
weechat: default to enabling all plugins
2017-11-29 23:02:32 +00:00
Linus Heckemann 566a16b742 weechat: default to enabling all plugins
Plain weechat is still accessible as `weechat.unwrapped`
or `weechat.override {configure = null;}`.

Also update documentation to reflect this change.
2017-11-29 15:30:56 +00:00
Vladimír Čunát addd20e6f9
Merge branch 'master' into staging 2017-11-28 18:19:34 +01:00
Benjamin Hipple 05c00a8345 haskell docs: fix typo 2017-11-27 22:24:32 -05:00
Orivej Desh 29b2984b0c
Merge pull request #31987 from jtojnar/devhelp-devdoc
stdenv: Move devhelp books to outputDevdoc
2017-11-25 23:14:47 +00:00
Vaibhav Sagar 1349174b1b doc: rust is an attribute set, not a package
Using `rust` instead of `rustc cargo` doesn't work in either `systemPackages` or `nix-shell -p`
2017-11-24 15:26:37 +08:00
Jan Tojnar 70a0580e38
stdenv: Move devhelp books to outputDevdoc 2017-11-24 02:09:44 +01:00
Vladimír Čunát c1ac1256f3
documentation: python 2.6 is no more 2017-11-19 08:18:55 +01:00
Samuel Dionne-Riel f8d232e233
documentation: python3Packages is python36Packages
Close #31810.
2017-11-19 08:18:43 +01:00
Chris Martin b43c5e0160 nixpkgs manual: how to make a patch file with git
This addresses #31684.
2017-11-17 17:46:07 -05:00
Orivej Desh 5b4adc3126 doc: improve rustPlatform example 2017-11-17 07:26:51 +00:00
Vladimír Čunát f609512d01
Merge #31614: doc/manual/stdenv: fix a typo 2017-11-14 20:37:15 +01:00
Robert Helgesson 91154416b6
docs: clarify package and module option naming
This attempts to briefly clarify the current naming conventions of
attribute names in `all-packages.nix` and module option names.
2017-11-14 19:17:35 +01:00
John Ericson 350a5e31fc
Merge pull request #29418 from vanschelven/small-documentation-improvements
documentation: cross-compilation - partial rewrite
2017-11-13 16:21:58 -05:00
Bruno Bieth 0e05dfcfa2 Typo in manual#stdenv - propagatedNativeBuildInputs 2017-11-13 17:55:18 +01:00