Commit graph

511 commits

Author SHA1 Message Date
John Ericson
594d264205 cross stdenv adaptor: Support --host --build --target across the board
Packages get --host and --target by default, but can explicitly request
any subset to be passed as needed. See docs for more info.

rustc: Avoid hash breakage by using the old (ignored)
dontSetConfigureCross when not cross building
2017-06-22 17:52:28 -04:00
Daiderd Jordan
aba574c4fa Merge pull request #26668 from gleber/fixpoint-erlang-packages
erlang: refactor: build packages per Erlang/OTP version.
2017-06-22 21:49:30 +02:00
Jörg Thalheim
5041df4411 doc/languages-frameworks/vim: add custom vimrc & packages 2017-06-22 13:25:03 +01:00
Eric Bailey
505508a813 Update BEAM docs
Improve beam docs:
 * correct spelling
 * update per pandoc changes
 * capitalize titles
 * capitalize BEAM throughout and use "the BEAM" when referring to the virtual machine.
 * tweak grammar and phrasing
 * reformat build-tools-rebar3 section
 * add more links
 * re-wrap <para>s

Also update <programlisting>s
* normalize whitespace
* don't double quote homepage
* use $ in all shell snippets
2017-06-22 11:32:46 +02:00
Gleb Peregud
0fccd5bba4 erlang: update documentation.
The documentation got a bit stale compared to actual contents of
nixpkgs. This commit focuses on updating existing docs, not on making
sure all details of beam packages are covered.
2017-06-19 19:58:57 +02:00
Frederik Rietdijk
75933da882 Merge pull request #26345 from vcunat/p/doc-override-phases
nixpkgs manual: advise against overriding whole phases
2017-06-19 09:48:01 +02:00
Thomas Tuegel
ce28d8947d
nixpkgs: remark about running Qt applications 2017-06-18 08:44:47 -05:00
Thomas Tuegel
f3ce852355
nixpkgs: remove comments from manual about wrapping Qt packages
It is no longer necessary to wrap Qt packages
2017-06-18 08:44:47 -05:00
Joachim F
055be3f684 Merge pull request #25954 from matthewbauer/nixpkgs-emacs-manual
manual: add "Emacs" section to manual
2017-06-15 14:24:37 +01:00
Jan Tojnar
e35f3c0679
doc: Fix some typos 2017-06-11 22:13:42 +02:00
Josef Kemetmueller
7116da8018 Python docs: Add example for overlays 2017-06-10 12:18:10 +02:00
Vladimír Čunát
8c6fada372
nixpkgs manual: advise against overriding whole phases
I've seen that mistake at least a few times already, e.g.
https://github.com/NixOS/nixpkgs/pull/26209#issuecomment-305925562
It might perhaps seem counter-intuitive if one doesn't know nixpkgs well.
2017-06-03 11:24:18 +02:00
John Ericson
4e376cce7e Merge pull request #26269 from obsidiansystems/libSystem
lib and doc: Use "libSystem" as identifier for that libc in platforms
2017-05-31 00:49:58 -04:00
John Ericson
9f680d30f4 lib and doc: Use "libSystem" as identifier for that libc in platforms 2017-05-31 00:47:25 -04:00
John Ericson
a908ad6fd3 Merge pull request #26037 from obsidiansystems/platform-examples
lib: Consolidate platform configurations (used for crossSystem)
2017-05-29 22:29:15 -04:00
John Ericson
20e756a093 lib: Consolidate platform configurations (used for crossSystem)
This is good for maintenance and education.
2017-05-29 18:56:03 -04:00
Dmitry Vyal
0f86046db5 user-local config.nix path fixed in docs 2017-05-27 13:38:15 +03:00
Matthew Bauer
e9e9af4b5c
doc/cross-compilation: change cross to target
thanks to @bjornfor for catching this
2017-05-24 02:02:14 -05:00
Matthew Bauer
11f5136005
doc/cross-compilation: cleanup some grammar
These all should be uncontroversial changes. Just some awkward wording and
double words, etc.
2017-05-23 23:40:37 -05:00
Matthew Bauer
0bbbdfbc52
manual: add "declarative package management" section
This section gives some details on how to setup an "environment"
without having to go through NixOS (although it could be used there
too). I’ve tried to make it straightforward and have a kind of
"tutorial" feel. Not sure if that’s appropriate for the manual, so any
recommended changes would be helpful.
2017-05-20 22:25:05 -05:00
Matthew Bauer
64bddb3f1e
manual: add "Emacs" section to manual
This gives some basics on configuring Emacs within Nix. The
configuration is fairly long just to give a good idea of what’s going
on. I can trim out some of it if it’s not necessary. Note that there
is already a section for Emacs in the NixOS manual. However, this is
aimed at avoiding using modules altogether to make things easier for
non-NixOS users. This configuration should work on NixOS anyway,
however.

Fixes #24243
Fixes #19956
2017-05-20 21:05:16 -05:00
Willi Butz
f5e03f3530
manual: fix typo 2017-05-12 13:49:06 +02:00
Frederik Rietdijk
ef4442e827 Python: replace requests2 with requests tree-wide
See f63eb58573

The `requests2` attribute now throws an error informing that `requests`
should be used instead.
2017-05-07 12:56:09 +02:00
Alexey Muranov
35c324ee14 doc: enable code syntax highlighting
Use "fenced" code blocks to enable syntax highlighting.  Other markup
and formatting.
2017-04-26 16:59:12 +02:00
Linus Heckemann
5c7f4669a7 nixpkgs manual: Remove obsolete warning (#21117)
PR #815 has already been cherry-picked into the default nix version 1.11.8.
2017-04-23 22:40:35 +02:00
John Ericson
b59fdc4289 Merge pull request #25099 from obsidiansystems/cross-lib-foundation
Changes to nixpkgs infra to prepare to better package some pesky cross-compilers

No hashes (native or cross) should be changed
2017-04-23 14:12:42 -04:00
John Ericson
863d79b364 top-level: Introduce targetPackages and a "double link fold"
Each bootstrapping stage ought to just depend on the previous stage, but
poorly-written compilers break this elegence. This provides an easy-enough
way to depend on the next stage: targetPackages. PLEASE DO NOT USE IT
UNLESS YOU MUST!

I'm hoping someday in a pleasant future I can revert this commit :)
2017-04-23 14:01:12 -04:00
Nick Novitski
37b0be688d bundix: 2.0.8 -> 2.1.0 (#25129) 2017-04-23 13:13:50 +01:00
John Ericson
1eabc23961 Merge pull request #24980 from Ericson2314/platform-normalization
Doc for Platform Normalization
2017-04-18 13:34:56 -04:00
John Ericson
c13457fe58 doc: Document the structure of {build,host,target}Platforms
Worthwhile to do now that #24610 makes it less abysmal.
2017-04-18 12:48:16 -04:00
Frederik Rietdijk
8d491ec6c6 Python docs: Python 2.x namespace packages may collide when using .withPackages 2017-04-18 09:05:00 +02:00
Jörg Thalheim
10eef8c196
rustup: init at 1.2.0 2017-04-17 15:53:36 +02:00
Carles Pagès
cc779bc421 doc: fix overlays paths
It was not updated with 9d6a55aefd.
2017-04-02 10:11:01 +02:00
Jörg Thalheim
36fca93290
rename iana_etc to iana-etc
fixes #23621
2017-03-28 22:35:15 +02:00
Frederik Rietdijk
ce6cd33c65 Python docs: small fixes 2017-03-22 12:55:11 +01:00
Joachim Schiele
91debcb482 Update python.md (#23669)
* Update python.md

this makes it clear how to alter `attributes` by using `packageOverrides`

* Update python.md

* Update python.md

* Update python.md

* Update python.md

* Update python.md

* Update python.md
2017-03-21 00:06:51 +01:00
Robin Gloster
72a5cf11cc
doc: remove double space 2017-03-20 20:59:43 +01:00
Robin Gloster
88341c4d2b
Revert "doc: remove double space"
This reverts commit 6393d43380.

Commit added too much changes.
2017-03-20 20:58:18 +01:00
Robin Gloster
6393d43380
doc: remove double space 2017-03-20 20:47:13 +01:00
Matthias Beyer
315e1a23c0 doc: Add rust documentation (#23510) 2017-03-20 20:41:37 +01:00
Bas van Dijk
47b14e0a99 doc/language-frameworks/haskell.md: integer-simple improvements
* Strip the unnecessary 'pkgs' attribute.

* Remove ghc-7.6.3 as a GHC supporting integer-simple.
2017-03-12 23:35:28 +01:00
Alexey Muranov
34afc31c49
doc: fix code highlighting, use valid Nix syntax
Fix code syntax highlighting by specifying language in every code block
and adding some context to Nix code blocks to make them valid
expressions.  Use the same markup style for all code blocks.  Reformat
some code blocks.

fixes #23535
2017-03-06 17:49:07 +01:00
Alexey Muranov
97c9ed0ba1
doc: cleanup whitespace in python.md 2017-03-06 17:48:55 +01:00
Vladimír Čunát
a1919db7cd
Merge branch 'master' into staging 2017-02-27 20:15:27 +01:00
Thomas Tuegel
c1fc4af9ae
Update Qt and KDE documentation
- Describe the new `libsForQt5.callPackage` interface
- Emphasize that Qt dependencies must be imported unqualified
- Describe the new `kdeWrapper` wrapper generator
2017-02-27 11:49:07 -06:00
Frederik Rietdijk
37704e90e2 Python: explain deterministic build in docs 2017-02-26 14:51:26 +01:00
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