Commit graph

585 commits

Author SHA1 Message Date
Shea Levy
dd6c926362
perlPackages.DBI: Stub out dbd_postamble for cross-compilation. 2018-02-28 15:01:32 -05:00
Shea Levy
306d5cdf03
perlPackages: Add cross-compilation support.
This involved:

* Installing miniperl as $dev/bin/perl
* Setting miniperl to take INC from
  lib/perl5/{site_perl/,}cross_perl/${version} as well as
  lib/perl5/{site_perl/,}/${version}/${runtimeArch}, in that
  order. miniperl taking from runtimeArch is not really correct, but
  it works in some pure-perl cases (e.g. Config.pm) and can be
  overridden with the cross_perl variant.
* Installing perl-cross's stubs into
  $dev/lib/perl5/cross_perl/${version}
* Patching MakeMaker.pm to gracefully degrade (very slightly) if B.pm
  can't be loaded, which it can't in cross-compilation.
* Passing the right build-time and runtime perls to Makefile.PL
2018-02-28 15:01:32 -05:00
Daniel Barlow
9c50ae6898 lib, treewide: Add missing MIPS arches, and fix existing usage
Existing "mips64el" should be "mipsel".

This is just the barest minimum so that nixpkgs can recognize them as
systems - although required for building individual derivations onto
MIPS boards, it is not sufficient if you want to actually build nixos on
those targets
2018-02-23 20:43:42 -05:00
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