Commit Graph

456 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
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
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