summary refs log tree commit diff
path: root/pkgs/stdenv
Commit message (Collapse)AuthorAge
* Merge branch 'staging' (early part)Vladimír Čunát2017-05-30
|\ | | | | | | The comparison looks nice on Hydra.
| * Merge pull request #26091 from LnL7/darwin-cf-10.10Daiderd Jordan2017-05-28
| |\ | | | | | | CoreFounation: 10.9 -> 10.10
| | * darwin-stdenv: use darwin.ICU instread of icuDaiderd Jordan2017-05-27
| | |
| * | Merge pull request #25921 from dtzWill/feature/llvm-manpagesDaiderd Jordan2017-05-28
| |\ \ | | |/ | |/| llvm-4/clang-4: Build and install man pages
| | * darwin-stdenv: allow clang-unwrapped.manDaiderd Jordan2017-05-21
| | |
* | | lib: Consolidate platform configurations (used for crossSystem)John Ericson2017-05-29
|/ / | | | | | | This is good for maintenance and education.
* | Merge branch 'master' into stagingVladimír Čunát2017-05-24
|\ \
| * | stdenv: Rename `isGNU` to `isHurd` as GNU is a userlandJohn Ericson2017-05-22
| | | | | | | | | | | | | | | Elsewhere, things called GNU indeed includes GNU/Linux or GNU/Hurd, but this predicate was defined excluding Linux regardless of userland.
| * | stdenv: define is* predicates with hostPlatform.is*John Ericson2017-05-22
| | | | | | | | | | | | This is a saner default until stdenv's are removed altogether
| * | lib: Infer `libc` field of platform if not specifiedJohn Ericson2017-05-22
| | | | | | | | | | | | | | | | | | | | | | | | This is especially useful when not cross compiling. It means we can remove the `stdenv.isGlibc` predicate too. Additionally, use this to simplify the logic to choose the appropriate libiconv derivation.
* | | Merge remote-tracking branch 'upstream/master' into HEADFrederik Rietdijk2017-05-22
|\| |
| * | glibc: Fix for crossJohn Ericson2017-05-19
| |/
* | Merge branch 'master' into stagingVladimír Čunát2017-05-18
|\|
| * linux cross stdenv: Use the cross stdenv and `nativeBuildInputs`John Ericson2017-05-17
| | | | | | | | | | This is a cross derivation---it's built on one platform to run on another---so let's structure it like all the other cross derivations.
| * linux cross stdenv: Fix eval errorsJohn Ericson2017-05-17
| | | | | | | | | | | | | | | | `pkgsNoParams` was removed by me, but then #25035 was merged using it, leading to an unbound identifier. It would be nice to get travis to do build release-cross.nix or something to catch these things.
* | Merge branch 'master' into stagingVladimír Čunát2017-05-06
|\|
| * darwin.make-bootstrap-tools.test: fix build breakageDan Peebles2017-05-05
| | | | | | | | | | | | | | In the extremely unlikely case that our store hash path ends in several digits (as is the case right now), the Darwin ld will try to interpret those digits as a version number and barf. To avoid that, we pass in the SDK version explicitly to stop it from trying to figure it out from iffy context.
* | stdenv: disable audit-tmpdir on non-Linux for nowVladimír Čunát2017-05-06
| | | | | | | | Without changing any hashes.
* | Add a setup hook for detecting $TMPDIR references in RPATHs and wrapper scriptsEelco Dolstra2017-05-04
|/
* Merge pull request #25427 from aneeshusa/fix-meta-priority-typesDomen Kožar2017-05-02
|\ | | | | Fix meta priority types
| * stdenv: More useful error message on bad meta attrsAneesh Agrawal2017-05-02
| | | | | | | | | | | | This helps in debugging meta attribute type errors, which are now enforced as of commit 90b9719f4fc95e54400a66bffcc8044c568cfa4b.
* | stdenv: disable checkMeta by default until issues resolvedDan Peebles2017-05-01
|/ | | https://github.com/NixOS/nixpkgs/pull/25304#issuecomment-298385426
* Merge pull request #25035 from elitak/cross-stagingMichael Raskin2017-05-01
|\ | | | | Add some ARM platforms
| * platforms: add pogoplug4 (armv5tel softfloat)Eric Litak2017-04-19
| |
| * platforms: add scaleway-c1 (armv7 sans NEON)Eric Litak2017-04-19
| |
* | stdenv-generic: add meta attributes checksEric Sagnes2017-04-29
| |
* | treewide: fix the remaining issues with meta attributesDan Peebles2017-04-29
| |
* | treewide: fix assorted issues revealed by the meta checkerDan Peebles2017-04-28
| | | | | | Turns out a couple of the licenses were wrong, as well as being strings.
* | stdenv-generic: add meta attribute checkingDan Peebles2017-04-28
| | | | | | | | This is turned off by default but I think we should fix all packages to respect it and then turn it on by default
* | Merge pull request #25227 from obsidiansystems/cross-purge-binutilsCrossJohn Ericson2017-04-26
|\ \ | | | | | | Purge binutilsCross
| * | binutilsCross: Remove and use `binutils` instead alwaysJohn Ericson2017-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See previous commit for what was done to `binutils` to make this possible. There were some uses of `forcedNativePackages` added. The combination of overrides with that attribute is highly spooky: it's often important that if an overridden package comes from it, the replaced arguments for that package come from it. Long term this package set and all the spookiness should be gone and irrelevant: "Move along, nothing to see here!" No hashes should be changed with this commit
| * | binutils: Respect the targetPlatformJohn Ericson2017-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use `buildPackages.binutils` to get build = host != target binutils, i.e. the old `binutilsCross`, and use `buildPackages.buildPackages.binutils` to get build = host = target binutils, i.e. the old `binutils`. `buildPackages` chains like this are supposed to remove the need for all such `*Cross` derivations. We start with binutils because it's comparatively easy. No hashes of cross-tests should be changed
* | | Merge pull request #25225 from Ericson2314/linux-cross-stdenv-evalJohn Ericson2017-04-25
|\| | | | | | | | linux cross stdenv: Pull platforms from lib to cut eval time
| * | linux cross stdenv: Pull platforms from lib to cut eval timeJohn Ericson2017-04-25
| | |
* | | Merge pull request #25194 from obsidiansystems/host-target-unconfuseJohn Ericson2017-04-24
|\| | | | | | | | | | | | | | stdenv.cross is a silly attribute that needs to go leaving the well-defined hostPlatform and targetPlatform. This PR doesn't remove it, but changes its definition: before it tracked the target platform which is sometimes more useful for compilers, and now it tracks the host platform which is more useful for everything else. Most usages are libraries, falling in the "everything else" category, so changing the definition makes sense to appease the majority. The few compiler (gcc in particular) uses that exist I remove to use targetPlatform --- preserving correctness and becoming more explicit in the process. I would also update the documentation aside mentioning stdenv.cross as deprecated, but the definition given actually erroneously assumes this PR is already merged!
| * | cross-stdenv: Only prune most overrides in the final stageJohn Ericson2017-04-24
| | | | | | | | | | | | | | | | | | | | | Before all overrides were also pruned in the previous stage, now only gcc and binutils are, because they alone care about about the target platform. The rest of the overrides don't, so it's better to preserve them in order to avoid spurious rebuilds.
* | | Merge pull request #25190 from obsidiansystems/ios-stdenv-tiny-refactorJohn Ericson2017-04-24
|\| | | | | | | | crossStdenv on iphone: Just get info from `targetPlatform`
| * | crossStdenv on iphone: Just get info from `targetPlatform`John Ericson2017-04-24
| | |
* | | Merge remote-tracking branch 'upstream/master' into stagingTuomas Tynkkynen2017-04-24
|\| |
| * | top-level: Introduce targetPackages and a "double link fold"John Ericson2017-04-23
| |/ | | | | | | | | | | | | | | | | 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 :)
* | Merge remote-tracking branch 'upstream/master' into HEADFrederik Rietdijk2017-04-18
|\|
| * stdenv: ARM bootstrap: Update bootstrap tarballs to latest hydra-built onesTuomas Tynkkynen2017-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixes sandboxed build of glibc. Discussion about a similar failure on aarch64 at: https://github.com/NixOS/nixpkgs/commit/8bfa9f528c88243578246798c7c2ddde045e0de0. Picked from the following cross-trunk evaluation: http://hydra.nixos.org/eval/1349278 based on nixpkgs commit 1f32d4b4eb50a78613cc9a3866c4d50d03fbe2b0. armv5tel job: http://hydra.nixos.org/build/51569718 armv6l job: http://hydra.nixos.org/build/51569717 armv7l job: http://hydra.nixos.org/build/51569713
* | Merge branch 'master' into stagingVladimír Čunát2017-04-14
|\| | | | | | | This includes a fix for a bad merge.
| * make-bootstrap-tools.nix: Fix bzip2Tuomas Tynkkynen2017-04-13
| | | | | | | | Apparently our native bzip2 builds switched to using dynamic libraries at some point.
* | Merge #23374: mkDerivation: simplify non-cross buildsVladimír Čunát2017-04-14
|\ \ | |/ |/| | | Don't pass buildInputs to stdenv builder in nativeBuildInputs.
| * mkDerivation: Don't pass buildInputs to stdenv builder in nativeBuildInputsTuomas Tynkkynen2017-03-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When not cross compiling, nativeBuildInputs and buildInputs have identical behaviour. Currently that is implemented by having mkDerivation do a concatenation of those variables in Nix code and pass that to the builder via the nativeBuildInputs attribute. However, that has some annoying side effects, like `foo.buildInputs` evaluating to `[ ]` even if buildInputs were specified in the nix expression for foo. Instead, pass buildInputs and nativeBuildInputs in separate variables as usual, and move the logic of cross compilation vs. native compilation to the stdenv builder script. This is probably a tiny bit uglier but fixes the previous problem. Issue #4855.
* | darwin.make-bootstrap-tools: fix to use LLVM 4Dan Peebles2017-04-08
| | | | | | This should now roughly match the bootstrap tools we're using on Darwin
* | stdenv-darwin: bump to use LLVM 4.0 & new bootstrap toolsDan Peebles2017-04-07
| |
* | stdenv: aarch64: Update bootstrap tarballsTuomas Tynkkynen2017-03-15
|/ | | | | | | | | | | | | Hopefully fixes sandboxed build of glibc on aarch64, as discussed on https://github.com/NixOS/nixpkgs/commit/8bfa9f528c88243578246798c7c2ddde045e0de0. Picked from the following cross-trunk evaluation: http://hydra.nixos.org/eval/1341395 based on nixpkgs commit bb3ef8a95c9659596b8a34d27881cd30ffea2f9f. build job: http://hydra.nixos.org/build/50125932 (busybox's hash not changing is not a bug!)
* nixpkgs: allow packages to be marked insecureGraham Christensen2017-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.