Commit graph

465 commits

Author SHA1 Message Date
Vladimír Čunát a50222b1a3
doc/configuration: tidy up text around #23130 changes 2017-02-26 10:32:59 +01:00
Graham Christensen a9c875fc2e
nixpkgs: allow packages to be marked insecure
If a package's meta has `knownVulnerabilities`, like so:

    stdenv.mkDerivation {
      name = "foobar-1.2.3";

      ...

      meta.knownVulnerabilities = [
        "CVE-0000-00000: remote code execution"
        "CVE-0000-00001: local privilege escalation"
      ];
    }

and a user attempts to install the package, they will be greeted with
a warning indicating that maybe they don't want to install it:

    error: Package ‘foobar-1.2.3’ in ‘...default.nix:20’ is marked as insecure, refusing to evaluate.

    Known issues:

     - CVE-0000-00000: remote code execution
     - CVE-0000-00001: local privilege escalation

    You can install it anyway by whitelisting this package, using the
    following methods:

    a) for `nixos-rebuild` you can add ‘foobar-1.2.3’ to
       `nixpkgs.config.permittedInsecurePackages` in the configuration.nix,
       like so:

         {
           nixpkgs.config.permittedInsecurePackages = [
             "foobar-1.2.3"
           ];
         }

    b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
    ‘foobar-1.2.3’ to `permittedInsecurePackages` in
    ~/.config/nixpkgs/config.nix, like so:

         {
           permittedInsecurePackages = [
             "foobar-1.2.3"
           ];
         }

Adding either of these configurations will permit this specific
version to be installed. A third option also exists:

  NIXPKGS_ALLOW_INSECURE=1 nix-build ...

though I specifically avoided having a global file-based toggle to
disable this check. This way, users don't disable it once in order to
get a single package, and then don't realize future packages are
insecure.
2017-02-24 07:41:05 -05:00
Frederik Rietdijk 026cfee6b0 Docs: update Python contributing guidelines 2017-02-22 13:38:29 +01:00
Paul Kinsky b14dd0e6c3
wrap added notes in <note> 2017-02-20 22:25:32 -05:00
Paul Kinsky 2d78767973
Add tips for resolving https issues in containers
I ran into some issues making HTTPS requests from a container built with buildImage. I've added notes with tips for resolving similar issues.
2017-02-20 22:24:54 -05:00
Vladimír Čunát 6bea415b5e
Merge branch 'master' into staging 2017-02-09 08:42:04 +01:00
John Ericson 8cd4c31d6b top-level: Allow nixpkgs to take localSystem directly
This is instead of both system and platform, which is kind of ugly.
2017-02-08 22:06:57 -05:00
John Ericson f6ef6b56fe Merge pull request #22387 from Ericson2314/cross-3-platforms
cross stdenv: let build package's build deps resolve to native packages
2017-02-05 17:41:31 -05:00
John Ericson 5eaea6cee0 cross stdenv: let build package's build deps resolve to native packages
This fixes the "sliding window" principle:
  0. Run packages:       build = native;  host = foreign; target = foreign;
  1. Build packages:     build = native;  host = native;  target = foreign;
  2. Vanilla packages:   build = native;  host = native;  target = native;
  3. Vanilla packages:   build = native;  host = native;  target = native;
  n+3. ...

Each stage's build dependencies are resolved against the previous stage,
and the "foreigns" are shifted accordingly. Vanilla packages alone are
built against themsevles, since there are no more "foreign"s to shift away.

Before, build packages' build dependencies were resolved against
themselves:
  0. Run packages:       build = native;  host = foreign; target = foreign;
  1. Build packages:     build = native;  host = native;  target = foreign;
  2. Build packages:     build = native;  host = native;  target = foreign;
  n+2. ...

This is wrong because that principle is violated by the target
platform staying foreign.

This will change the hashes of many build packages and run packages, but
that is OK. This is an unavoidable cost of fixing cross compiling.

The cross compilation docs have been updated to reflect this fix.
2017-02-05 12:01:53 -05:00
Vladimír Čunát 3b583d943e
Merge #19328: mkWrapper fix and docs 2017-02-05 14:09:22 +01:00
Vladimír Čunát adab4cd58b
Merge branch 'master' into staging 2017-02-03 11:47:38 +01:00
Bas van Dijk dfcc9e2994 ghc: support building with integer-simple and provide package sets for it
If the flag enableIntegerSimple is true GHC will be build with the GPL-free but
slower integer-simple library instead of the faster but GPLed integer-gmp
library.

The attribute `pkgs.haskell.compiler.integer-simple."${ghcVersion}"` provides a
GHC compiler build with `integer-simple`.

Similarly, the attribute `pkgs.haskell.packages.integer-simple."${ghcVersion}"`
provides a package set supporting `integer-simple`.

Closes https://github.com/NixOS/nixpkgs/pull/22121.
Closes https://github.com/NixOS/nixpkgs/issues/5493.
2017-02-02 10:57:00 +01:00
Domen Kožar 220adbb039
docs: fix link for python 2017-02-01 21:32:06 +01:00
Eelco Dolstra 9d6a55aefd
~/.nixpkgs -> ~/.config/nixpkgs
The former is still respected as a fallback for config.nix for
backwards compatibility (but not for overlays because they're a new
feature).
2017-02-01 16:07:55 +01:00
Eelco Dolstra 7dacca324d
$NIXPKGS_OVERLAYS -> <nixpkgs-overlays>
The Nix search path is the established mechanism for specifying the
location of Nix expressions, so let's use it instead of adding another
environment variable.
2017-02-01 16:07:54 +01:00
Vladimír Čunát 49b136377a
Merge #16501: add a guide about vim plugins 2017-01-30 18:28:20 +01:00
Vladimír Čunát 69348badb8
doc vim: nitpicks 2017-01-30 18:27:44 +01:00
Lorenzo Manacorda 4e0bb261d0 Make more visible which fetch approach is best
Prepend "bad/better/best" to each paragraph, to make more visible which approach is best
2017-01-30 11:28:52 +01:00
Domen Kožar f87deb0b3a Merge pull request #22101 from zimbatm/no-md5
Bye bye MD5
2017-01-25 09:07:48 +01:00
John Ericson 39fb46f538 nixpkgs docs: Cross compilation docs 2017-01-24 11:37:56 -05:00
John Ericson 76ea89aa78 nixpkgs doc: Talk about nativeBuildInputs and propgatedNativeBuildInputs
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.
2017-01-24 11:37:56 -05:00
zimbatm 6f21a99bdd doc/old/cross.txt: md5 -> sha256 2017-01-24 16:26:05 +00:00
Franz Pletz 00ab8e84c6
doc: improve hardening docs
Fixes #18887.
2017-01-20 17:46:44 +01:00
Jörg Thalheim 3fdde25b4c Merge pull request #21962 from Mic92/gemdir
bundleEnv: Used gemdir for most applications now
2017-01-19 09:34:14 +01:00
Jörg Thalheim a9495b3066 Merge pull request #21837 from Azulinho/python-docs_add_virtualenv_and_nixshell_example
python docs: add an example for a virtualenv and pip through nix-shell
2017-01-18 08:37:13 +01:00
Jörg Thalheim c9ff7e49a8
docs: gemdir is now preferred attribute for bundlerEnv 2017-01-18 00:52:57 +01:00
Nicolas B. Pierron 88ba960a6d Fix nixpkgs manual generation, missing para closing tag. 2017-01-16 01:17:33 +01:00
Nicolas B. Pierron 2ad710e70e Fix extra nits from aneeshusa 2017-01-16 01:17:33 +01:00
Nicolas B. Pierron 2d6532b330 Update overlay documentation by following nits from aneeshusa. 2017-01-16 01:17:33 +01:00
Nicolas B. Pierron 51d3c931e1 Replace 'phases' by 'layers' in overlays documentation. 2017-01-16 01:17:33 +01:00
Nicolas B. Pierron f9da1fa957 Throw an error if NIXPKGS_OVERLAYS is invalid and improve documentation. 2017-01-16 01:17:33 +01:00
Nicolas B. Pierron f5dfe78a1e Add overlays mechanism to Nixpkgs.
This patch add a new argument to Nixpkgs default expression named "overlays".

By default, the value of the argument is either taken from the environment variable `NIXPKGS_OVERLAYS`,
or from the directory `~/.nixpkgs/overlays/`.  If the environment variable does not name a valid directory
then this mechanism would fallback on the home directory.  If the home directory does not exists it will
fallback on an empty list of overlays.

The overlays directory should contain the list of extra Nixpkgs stages which would be used to extend the
content of Nixpkgs, with additional set of packages.  The overlays, i-e directory, files, symbolic links
are used in alphabetical order.

The simplest overlay which extends Nixpkgs with nothing looks like:

```nix
self: super: {
}
```

More refined overlays can use `super` as the basis for building new packages, and `self` as a way to query
the final result of the fix-point.

An example of overlay which extends Nixpkgs with a small set of packages can be found at:
  https://github.com/nbp/nixpkgs-mozilla/blob/nixpkgs-overlay/moz-overlay.nix

To use this file, checkout the repository and add a symbolic link to
the `moz-overlay.nix` file in `~/.nixpkgs/overlays` directory.
2017-01-16 01:17:33 +01:00
Kier Davis cb4ebb6749
docs: fix a couple of unmatched parentheses 2017-01-12 21:04:20 +00:00
Azul 58613a7eed python docs: update block according to code review 2017-01-12 16:59:27 +00:00
Azul aa9a9dd1b4 python docs: add an example for a virtualenv and pip through nix-shell 2017-01-12 16:00:50 +00:00
Frederik Rietdijk e0d1691ba3 Docs Python: fix examples and links 2016-12-21 15:45:39 +01:00
Matthew Pickering d8d36de635 Fix typo in beam.xml 2016-12-19 14:56:55 +00:00
Marti Serra b8984954ff steam: removed unuseful section from documentation 2016-12-11 16:57:28 +01:00
Marti Serra 21449c23cb steam: added java and steam-run to documentation, removed patchelf info 2016-12-11 12:47:48 +01:00
Jaka Hudoklin f1d93906f8 Merge pull request #21047 from xvapx/fix/steam-doc
steam: added documentation to nixpkgs manual
2016-12-10 23:36:12 +01:00
Marti Serra 2698757095 steam: added documentation to nixpkgs manual 2016-12-10 17:57:33 +01:00
Frederik Rietdijk 42bad32e13 buildPythonPackage: refactor 2016-12-05 10:29:22 +01:00
Frederik Rietdijk 3d59b82925 DOCS: update Python docs to reflect fixed-point combinator 2016-12-05 09:45:11 +01:00
Frederik Rietdijk 374ac13a6e Docs: fix Python docs 2016-12-04 10:17:33 +01:00
Eric Sagnes 2b1d67a275 manual: reviewing contributions nixos -> nixpkgs (#20626) 2016-11-22 15:15:02 +01:00
Profpatsch 53fc7b8272 lib/generators: add manual documentation
Restructures the functions reference a bit.
2016-11-17 23:19:28 +01:00
Peter Simons 0a685cf8ea Merge pull request #20257 from expipiplus1/haskell-doc-typo
fix documentation typo in doc/languages-frameworks/haskell.md
2016-11-09 08:47:07 +01:00
Joe Hermaszewski 05f31e5c8a fix documentation typo in doc/languages-frameworks/haskell.md 2016-11-08 17:42:27 +00:00
Frederik Rietdijk 9cdfb33401 Docs: improve Python expressions
as it contained several mistakes and was just messy.
2016-11-08 12:44:49 +01:00
Domen Kožar 62edf873aa Merge pull request #18660 from aneeshusa/add-override-attrs
mkDerivation: add overrideAttrs function
2016-10-30 11:32:15 +01:00
Joachim Fasting a1ecc5648a
nixpkgs doc: fix build
Ref e4cd45a30c
2016-10-28 16:28:31 +02:00
Charles Strahan ca2b03439f Merge pull request #19496 from Ericson2314/overridePackages
Make `overridePackages` extend rather than replace existing overrides
2016-10-26 14:01:13 -04:00
Frederik Rietdijk e56832d730 Merge remote-tracking branch 'upstream/master' into HEAD 2016-10-22 17:23:24 +02:00
Richard Zetterberg 2206d7afe2 texlive manual: adds import of nixpkgs in nix-repl
I wanted to list the different texlive collections using the nix-repl, as per the [manual](https://nixos.org/nixpkgs/manual/#idm140737316065984). 

It didn't work, since the nixpkgs were not loaded. Doing `:l <nixpkgs>` first resolved the problem.

This change adds the nixpkgs loading step to the manual so that the next inexperienced person don't have to figure out why it didn't work.

I tested this on NixOS unstable (16.09pre90254.6b20d5b) with nix-repl 1.11.3.
2016-10-20 08:50:54 +02:00
Frederik Rietdijk 8fa308126f Python: update docs with change in default interpreter version 2016-10-18 23:16:05 +02:00
Frederik Rietdijk 107c035bf0 Python: remove pythonSmall
In #19309 a separate output for tkinter was added.

Several dependencies of Python depend indirectly on Python. We have the
following two paths:
```
‘python-2.7.12’ - ‘tk-8.6.6’ - ‘libXft-2.3.2’ - ‘libXrender-0.9.10’ -
‘libX11-1.6.4’ - ‘libxcb-1.12’ - ‘libxslt-1.1.29’- ‘libxml2-2.9.4’ -
‘python-2.7.12’

‘python-2.7.12’ - ‘tk-8.6.6’ - ‘libXft-2.3.2’ - ‘fontconfig-2.12.1’ -
‘dejavu-fonts-2.37’ - ‘fontforge-20160404’ - ‘python-2.7.12’
```
Because only `tkinter` needs this, I added
```
pythonSmall = python.override {x11Support = false;};
```
to break the infinite recursion. We also still have the output
`tkinter`.

However, we might as well build without x11Support by default. Then we build with x11Support as well so we get the tkinter module and put that in a separate package.
2016-10-16 14:31:26 +02:00
John Ericson e4cd45a30c top-level: Make overridePackages extend rather than replace existing overrides 2016-10-13 11:14:11 -04:00
Frederik Rietdijk cffdffe1f6 Merge pull request #19309 from FRidh/outputs
Python: use separate output for tkinter
2016-10-13 10:40:14 +02:00
Frederik Rietdijk 1e544b2993 pythonPackages.tkinter: use this instead of the output python.tkinter 2016-10-13 10:38:21 +02:00
Profpatsch bef6bef0d2
stdenv/stripHash: print to stdout, not to variable
`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.
2016-10-11 18:34:36 +02:00
Frederik Rietdijk d3766b2601 Python: update docs separate output tkinter 2016-10-10 10:33:24 +02:00
Profpatsch dd58d24fa6 stdenv: document makeWrapper
Add function documentation to `makeWrapper`.
Also add user documentation to the nixpkgs manual.
2016-10-08 23:36:40 +02:00
Michael Raskin d233366856 manual: switch an example from md5 to sha256. 2016-10-07 10:08:22 +02:00
Thomas Tuegel d067b7bd35
Merge branch 'kde-5' into staging 2016-10-04 21:50:17 -05:00
Eelco Dolstra ebdd896017 Nixpkgs manual: Fix epub generation
See 0804f67024.
2016-10-03 20:33:01 +02:00
Aneesh Agrawal 39b64b52ed mkDerivation: add overrideAttrs function
This is similar to `overrideDerivation`, but overrides the arguments to
`mkDerivation` instead of the underlying `derivation` call.

Also update `makeOverridable` so that uses of `overrideAttrs` can be
followed by `override` and `overrideDerivation`, i.e. they can be
mix-and-matched.
2016-10-02 11:08:34 -04:00
Vladimír Čunát 77604964b6 Merge branch 'master' into staging 2016-09-28 17:13:59 +02:00
Eric Sagnes 41d62fdea8 nixpkgs doc: add installCheck phase 2016-09-28 16:31:46 +09:00
Vladimír Čunát fffc7638cd Merge branch 'master' into staging 2016-09-24 18:54:31 +02:00
Luca Bruno da514a2cf9 Merge pull request #18798 from siddharthist/doc/node-readme
manual: add node.js to languages & frameworks
2016-09-22 22:12:37 +01:00
Langston Barrett a3bbb45e5c manual: add node to languages & frameworks
fixes #18609
2016-09-20 20:38:24 +00:00
Eelco Dolstra 5f8a330d40 outputDocdev -> outputDevdoc
For consistency with the devdoc output.
2016-09-20 17:44:48 +02:00
Eelco Dolstra 594c47e5eb Don't nuke section 3 manpages by default
They now go to devman, devdoc, or $outputMan, in that order. This is
to prevent cases such as the man-pages package quietly losing its
section 3 pages.
2016-09-20 17:42:43 +02:00
Kamil Chmielewski 914e0e594c buildGoPackage: deps.json -> deps.nix in NIXON
https://github.com/NixOS/nixpkgs/pull/17254#issuecomment-245295541

* update docs to describe `deps.nix`
* include goDeps in nix-shell GOPATH
* NixOS 16.09 rel notes about replacing goPackages
2016-09-16 00:04:55 +01:00
Mathieu Boespflug db481dca31 doc/language-frameworks/haskell.md: typo in code example. (#18313) 2016-09-05 13:27:00 +02:00
Robert Helgesson 86af88d7c4
perl docs: update generated expression
This provides an up-to-date illustration of how `nix-generate-from-cpan`
generates packages.
2016-09-03 18:14:06 +02:00
Tuomas Tynkkynen e2c6740c37 Merge commit 'adaee73' from staging into master
This one was already merged into release-16.09, so let's not have the
stable branch is ahead of master and confuse things. In addition to
that, currently we have an odd situation that master has less things
actually finished building than in staging.

Conflicts:
	pkgs/data/documentation/man-pages/default.nix
2016-09-03 01:02:51 +03:00
Frederik Rietdijk 4f6b6f1472 pythonPackages: use mkPythonDerivation 2016-09-01 16:16:31 +02:00
Frederik Rietdijk 3e05cce97c Python: separate buildPythonPackage into two functions
1. mkDerivation which is used when the source is without setup.py and
not a wheel
2. buildPythonPackage which is used as before and calls mkDerivation
2016-09-01 16:16:31 +02:00
Frederik Rietdijk b080748d42 Python: move python-modules/generic to interpreter folder 2016-09-01 16:16:31 +02:00
Tuomas Tynkkynen 8c4aeb1780 Merge staging into master
Brings in:
    - changed output order for multiple outputs:
      https://github.com/NixOS/nixpkgs/pull/14766
    - audit disabled by default
      https://github.com/NixOS/nixpkgs/pull/17916

 Conflicts:
	pkgs/development/libraries/openldap/default.nix
2016-09-01 13:27:27 +03:00
Eelco Dolstra 8172cd734c docdev -> devdoc
It's "developer documentation", not "documentation developer" after
all.
2016-09-01 11:07:23 +02:00
Domen Kožar da421bc75f Fix #4210: Remove builderDefs
This was one of the ways to build packages, we are trying
hard to minimize different ways so it's easier for newcomers
to learn only one way.

This also:

- removes texLive (old), fixes #14807
- removed upstream-updater, if that code is still used it should be in
  separate repo
- changes a few packages like gitit/mit-scheme to use new texlive
2016-08-31 11:34:46 +02:00
Domen Kožar 7b3a36132a Merge pull request #9607 from nckx/update-doc
doc: specify that *Flags are string lists
2016-08-31 10:02:16 +02:00
Frederik Rietdijk 850e6287c5 Doc: improve python bdist_wheel fix 2016-08-30 17:16:49 +02:00
Frederik Rietdijk 95021f061a Doc: fix python override examples 2016-08-30 17:06:44 +02:00
Tuomas Tynkkynen 03fb2c1f32 doc: Document changes to multiple-output conventions 2016-08-30 04:46:59 +03:00
obadz 0e8d2725dc Merge branch 'master' into staging 2016-08-23 18:50:06 +01:00
Tuomas Tynkkynen 4bd0a16148 haskell docs: Fix output reference in example 2016-08-23 04:32:21 +03:00
Tuomas Tynkkynen 9551d400b2 python manual: Fix 'fftw*' output references in example 2016-08-23 03:20:21 +03:00
obadz 24a9183f90 Merge branch 'hardened-stdenv' into staging
Closes #12895

Amazing work by @globin & @fpletz getting hardened compiler flags by
enabled default on the whole package set
2016-08-22 01:19:35 +01:00
Nikolay Amiantov 01624e1ac2 wrapPythonProgram: use site.addsitedir instead of PYTHONPATH 2016-08-20 00:42:49 +03:00
Peter Simons 36f2dc5649 Merge pull request #17549 from ericsagnes/nixpkgs-doc/patches
nixpkgs-doc: add patches to coding conventions
2016-08-19 11:08:53 +02:00
Robin Gloster 33e1c78ae3 Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-08-16 07:54:01 +00:00
Frederik Rietdijk 888efed972 Doc: fix python examples 2016-08-16 09:47:13 +02:00
Franz Pletz bd4490e277 Merge branch 'master' into hardened-stdenv 2016-08-13 16:59:55 +02:00
Frederik Rietdijk 6f1551d597 Doc: how to create a Python wheel 2016-08-13 14:19:33 +02:00
Robin Gloster af04b6d5a5 hardening docs: fix typo 2016-08-13 10:06:24 +00:00
Franz Pletz 55966c2189 doc: complete the hardening documentation 2016-08-12 18:14:02 +02:00
Kamil Chmielewski da3ddd48e4 buildGoPackage: remove Go deps file libs.json
After #16017 there were a lot
of comments saying that `nix` would be better than `JSON`
for Go packages dependency sets.
As said in https://github.com/NixOS/nixpkgs/pull/16017#issuecomment-229624046

    > Because of the content-addressable store, if two programs have the
    > same dependency it will already result in the same derivation in
    > the
    > store. Git also has compression in the pack files so it won't make
    > much difference to duplicate the dependencies on disk. And finally
    > most users will just use the binary builds so it won't make any
    > differences to them.

This PR removes `libs.json` file and puts all package dependencies in
theirs `deps.json`.
2016-08-11 23:07:09 +02:00