Commit graph

637 commits

Author SHA1 Message Date
Michael Raskin
76e465de52 A note about scheme-* in texlive.combine 2018-03-07 22:25:01 +01:00
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
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
Orivej Desh
467d22c15b documentation: fix typos 2017-11-09 12:57:21 +00:00
Klaas van Schelven
b20916bd98 documentation: cross-compilation - partial rewrite 2017-11-09 13:44:03 +01:00
John Ericson
0101856765
Merge pull request #30549 from obsidiansystems/bintools
treewide: Introduce stdenv.cc.bintools
2017-11-08 14:20:48 -05:00
Ilya Kolpakov
da3658f1bf docs: multiple outputs: now mentions glibc as not having executables in the first output contrary to the convention 2017-11-06 15:24:40 +01:00
Alexey Lebedeff
5ce0f5aa38 emacs-packages: Cleanup and document for overrides
This removes some stale code that was a no-op for some time and adds
some docs/examples to help people with explicitly and consistently
choosing versions of some emacs packages (to help with problems
similar to #27083).
2017-11-06 11:03:30 +01:00
John Ericson
5ae8f18f4d Rename __targetPackages to targetPackages 2017-11-05 17:10:53 -05:00
Orivej Desh
48cacf5ff7
Merge pull request #30951 from LnL7/darwin-docs
docs: add section on common darwin issues
2017-11-05 18:04:21 +00:00
Renaud
4e892b9c03 nixpkgs manual : clearer meta.platforms description
Refer to doubles.nix for a list of common platforms types used in packages
2017-11-04 16:08:14 +01:00
Frederik Rietdijk
4bd9b3b7cf
Merge pull request #25274 from lheckemann/weechat-plugin-split
Weechat plugin split
2017-11-04 09:55:09 +01:00
Frederik Rietdijk
5c4352fa2d Python docs: fix quotes PR #31197 2017-11-03 18:49:15 +01:00
Jonathan Curran
c67a6482a3
Fix nix-shell command example in python docs
The nix-shell command here is incorrect AFAICT.  `-i` is supposed to specify the interpreter and `-p` specifies the packages.
2017-11-03 09:23:01 -06:00
Linus Heckemann
05f96bf376 weechat: split plugins into separate outputs
Also add a wrapper generator that allows adding the plugins back
conveniently and corresponding documentation in the package notes
section of the nixpkgs manual.
2017-11-03 10:25:22 +00:00
Franz Pletz
e32352fd97
nixpkgs manual: unfree packages are untested
Resolves confusion mentioned in #31045.
2017-11-01 22:34:56 +01:00
Daiderd Jordan
633b03c57f
docs: add section on common darwin issues 2017-11-01 18:08:19 +01:00
Daiderd Jordan
1167fde2b2 docs: add note about makeFlags quoting 2017-11-01 17:50:15 +01:00
Kevin Cox
5f8cf0048e rust: update cargo builder to fetch registry dynamically
The biggest benefit is that we no longer have to update the registry
package. This means that just about any cargo package can be built by
nix. No longer does `cargo update` need to be feared because it will
update to packages newer then what is available in nixpkgs.

Instead of fetching the cargo registry this bundles all the source code
into a "vendor/" folder.

This also uses the new --frozen and --locked flags which is nice.

Currently cargo-vendor only provides binaries for Linux and
macOS 64-bit. This can be solved by building it for the other
architectures and uploading it somewhere (like the NixOS cache).

This also has the downside that it requires a change to everyone's deps
hash. And if the old one is used because it was cached it will fail to
build as it will attempt to use the old version. For this reason the
attribute has been renamed to `cargoSha256`.

Authors:
* Kevin Cox <kevincox@kevincox.ca>
* Jörg Thalheim <Mic92@users.noreply.github.com>
* zimbatm <zimbatm@zimbatm.com>
2017-10-23 00:30:47 +01:00
Piotr Bogdan
34d80d75fc nixpkgs manual: remove reference to now defunct nixpkgs monitor 2017-10-17 16:04:29 +01:00
Vladimír Čunát
95b706f0db
Merge branch 'master' into staging
Very many rebuilds from master :-(
2017-09-27 20:59:52 +02:00
Vladimír Čunát
f2955e4fde
manuals: fixup steam note, as the change is in 17.09
I didn't notice the cherry-pick, but Globin found out immediately.
/cc #29180.
2017-09-27 20:33:24 +02:00
Vladimír Čunát
4013b381b3
manuals: document removal of newStdcpp from steam
/cc #29180.
2017-09-27 20:12:06 +02:00
Vladimír Čunát
41aa302727
Merge branch 'master' into staging 2017-09-26 22:31:59 +02:00
John Ericson
bc0aec5d97 doc: Document forthcomming NIX_DEBUG degredations 2017-09-26 11:24:19 -04:00
Jörg Thalheim
9d9a28f014 docs/python: more infos regarding failing tests 2017-09-25 14:00:47 +01:00
Bjørn Forsman
56a047c7a1 doc/submitting-changes.xml: suggest "nixos/<module>" prefix for NixOS changes
Commit 8537cf0f81
("CONTRIBUTING.md: suggest "nixos/<module>" prefix for NixOS changes")
only changed CONTRIBUTING.md file and forgot about the Nixpkgs manual.
(I didn't know this information was stored in two places.)
2017-09-13 14:10:25 +02:00
Bas van Dijk
b4ea459eab haskell: introduce failOnAllWarnings
Applying `haskell.lib.failOnAllWarnings` to a Haskell package enables the
`-Wall` and `-Werror` GHC options to turn all warnings into build failures.
2017-09-10 13:09:52 +02:00
Peter Hoeg
a9a3af423f manual: steam on nouveau also requires newStdCpp 2017-09-10 13:14:43 +08:00
Frederik Rietdijk
b7d257a520 Python docs: add section on tests 2017-09-02 12:06:50 +02:00
Dmitry Kalinkin
b6a1e439e1
documentation: use modern Firefox version in example 2017-09-01 14:03:28 -04:00
Dmitry Kalinkin
26068822d8
documentation: fix some spelling 2017-09-01 13:38:07 -04:00
Bas van Dijk
e410a191a1 haskell: add the checkUnusedPackages function including docs 2017-08-30 14:40:54 +02:00
Graham Christensen
128cdeffd0
compiz: drop 2017-08-30 06:59:20 -04:00
Samuel Leathers
aae774571e doc: explain pull request template 2017-08-29 10:15:50 -04:00
Frederik Rietdijk
643ca9a3aa Python docs: rewrite a part
- fix some mistakes
- move explanation on how to create Python environments to the front
2017-08-26 11:22:20 +02:00
Frederik Rietdijk
6bbc3a0b24 Merge commit '3b29468313bc8604fe8f85c8d9316fd276d3985c' into HEAD 2017-08-21 04:44:40 +02: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
Michael Peyton Jones
9235ff1259 Overlays: allow overlays to be specified in a file 2017-08-17 22:13:39 +00:00
Frederik Rietdijk
8f2ea38f8f Merge remote-tracking branch 'upstream/master' into HEAD 2017-08-17 18:34:17 +02:00
nonsequitur
865765aece ruby docs: improve example
1. Call `nix-build` with `--no-out-link` to avoid cluttering the source dir.
2. Re-add `patchShebangs`, since `buildCommand` doesn't imply a patch phase. (It was my fault to remove this in the first place, sorry!)
2017-08-15 15:00:27 +02:00
Frederik Rietdijk
62dac1bdd9 Merge remote-tracking branch 'upstream/master' into HEAD 2017-08-14 09:34:10 +02:00
Vladimír Čunát
34946256a0
Merge #27424: stdenv: Don't put man pages into $doc 2017-08-13 19:32:51 +02:00
Frederik Rietdijk
7ebcd39a0f Merge commit '4c49205' into HEAD 2017-08-13 18:34:59 +02:00
Michael Peyton Jones
5bc183ebf8 Overlays: fix some documentation nits 2017-08-13 14:48:41 +00:00
Michael Peyton Jones
d60b288663 Nixpkgs manual: expand documentation for overlays 2017-08-13 14:48:41 +00:00
Frederik Rietdijk
2a8cd14d5f Merge remote-tracking branch 'upstream/master' into HEAD 2017-08-13 09:50:47 +02:00
Frederik Rietdijk
abdb58e407 Python: overridePythonPackage -> overridePythonAttrs
to better fit the existing naming scheme.

https://github.com/NixOS/nixpkgs/pull/26155#issuecomment-321279629
2017-08-12 08:58:41 +02:00
Tuomas Tynkkynen
aeeb23853a stdenv: Don't move info pages to the 'man' output
Because if you were to disable man pages via 'programs.man.enable',
the "man" output wouldn't be installed and the info pages would go
missing.
2017-08-11 21:32:55 +03:00