summary refs log tree commit diff
path: root/pkgs/stdenv/default.nix
Commit message (Collapse)AuthorAge
* stdenv/linux: use isCompatible to find bootstrap toolsMatthew Bauer2019-04-19
| | | | | | This avoids part of the issue where things like armv7a don’t work because the system doesn’t realize it can use the armv7l bootstrap tools.
* Merge pull request #51628 from ju1m/armMatthew Bauer2019-03-01
|\ | | | | stdenv: add armv7a-linux system
| * stdenv: add armv7a-linux systemJulien Moutinho2018-12-06
| |
* | stdenv: implement crossOverlaysMatthew Bauer2018-12-04
|/ | | | | | | | crossOverlays only apply to the packages being built, not the build packages. It is useful when you don’t care what is used to build your packages, just what is being built. The idea relies heavily on the cross compiling infrastructure. Using this implies that we need to create a cross stdenv.
* [RFC] ppc64le enablement (#45340)CrystalGamma2018-08-21
| | | | | | | | | | | | | | | | * ppc64le enablement * gcc, glibc: properly handle __float128 * lib/systems, stdenv: syntax cleanup * gcc7: remove ugly hack * gcc: add/update __float128 flags * stdenv: add another pair of quotes for consistency * gcc: move __float128 flag for ppc64le-glibc into common/platform-flags.nix
* lib, treewide: Add missing MIPS arches, and fix existing usageDaniel Barlow2018-02-23
| | | | | | | | | 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
* stdenv: Bringup aarch64 architecture supportTuomas Tynkkynen2017-01-25
|
* top-level: Lay the groundwork for `{build,host,target}Platform`John Ericson2017-01-24
| | | | | | | | | | | | The long term goal is a big replace: { inherit system platform; } => buildPlatform crossSystem => hostPlatform stdenv.cross => targetPlatform And additionally making sure each is defined even when not cross compiling. This commit refactors the bootstrapping code along that vision, but leaves the old identifiers with their null semantics in place so packages can be modernized incrementally.
* Add overlays mechanism to Nixpkgs.Nicolas B. Pierron2017-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* linux stdenv: Inline stage funs to conform to new conventionJohn Ericson2017-01-13
| | | | Code is just moved around
* top-level: Normalize stdenv bootingJohn Ericson2017-01-13
| | | | | | | | | | | Introduce new abstraction, `stdenv/booter.nix` for composing bootstraping stages, and use it everywhere for consistency. See that file for more doc. Stdenvs besides Linux and Darwin are completely refactored to utilize this. Those two, due to their size and complexity, are minimally edited for easier reviewing. No hashes should be changed.
* top-level: turn the screwJohn Ericson2016-12-01
| | | | | | | | | | | | - Non-cross stdenvs are honest and assert that `crossSystem` is null - `crossSystem` is a mandatory argument to top-level/stage.nix, just like `system` and `platform` - Broken default arguments on stdenvs for testing are gone. - All stdenvs (but little-used stdenvNix) take the same arguments for easy testing.
* top-level: Close over fewer arguments for stdenv stagesJohn Ericson2016-11-30
| | | | | | | | This makes the flow of data easier to understand. There's little downside because the args in question are already inspected by the stdenvs. cross-compiling in particular is simpler because we don't need to worry about overriding the config closed over by `allPackages`.
* top-level: Remove cycles: stdenv calls in top-level but not vice versaJohn Ericson2016-11-30
| | | | | | | | | | | | | | | | | | | | | | | This commit changes the dependencies of stdenv, and clean-up the stdenv story by removing the `defaultStdenv` attribute as well as the `bootStdenv` parameter. Before, the final bootstrapping stage's stdenv was provided by all-packages, which was iterating multiple times over the top-level/default.nix expression, and non-final bootstrapping stages' stdenvs were explicitly specified with the `bootStdenv` parameter. Now, all stages' stdenvs are specified with the `stdenv` parameter. For non-final bootstrapping stages, this is a small change---basically just rename the parameter. For the final stage, top-level/default.nix takes the chosen stdenv and makes the final stage with it. `allPackages` is used to make all bootstrapping stages, final and non-final alike. It's basically the expression of `stage.nix` (along with a few partially-applied default arguments) Note, the make-bootstrap-tools scripts are temporarily broken
* top-level: Stop exposing all stdenvsJohn Ericson2016-11-30
|
* Add initial basic support for cross-compiling to iOSShea Levy2016-11-15
|
* top-level: Make config-overriden stdenv bootstrap more normallyJohn Ericson2016-11-06
|
* top-level: Make stdenvCross which appears at first glance normal...John Ericson2016-11-06
| | | | ...but actually is weird just like the original
* top-level: Make `stdenv/default.nix` more concise with `inherit (expr) id;` ↵John Ericson2016-10-27
| | | | syntax
* Merge branch 'master' into stagingVladimír Čunát2016-01-05
|\
| * stdenv-darwin: allow easier testing of bootstrap toolsDan Peebles2016-01-03
| | | | | | | | | | | | | | This un-hardcodes the bootstrap tools passed into the Darwin stdenv and thus allows us to quickly iterate on improving the design of the full bootstrap process. We can easily change the contents of the bootstrap tools and evaluate an entire bootstrap all the way up to real packages.
| * stdenv-darwin: rename folder and associated attributeDan Peebles2016-01-03
| | | | | | No point in calling it pure-darwin anymore. It's the only stdenv we have
| * stdenv-darwin: kill old impure Darwin stdenvDan Peebles2016-01-03
| | | | | | | | I'll be moving the other one over it next commit (I split it into two to improve git's rename detection)
* | FreeBSD: use own stdenv, do not run libtiff tests, use PIC for zlibjanus2016-01-01
|/
* switch stdenvsJude Taylor2015-10-02
|
* move pure stdenv into a new directory, bring back the old oneJude Taylor2015-06-18
| | | | remove __impure from non-darwin OSes
* pure darwin stdenvJude Taylor2015-06-18
|
* cygwin: stdenvFlorian Friesdorf2015-05-28
|
* new darwin stdenvEric Seidel2015-02-03
|
* Merge branch 'darwin-stdenv' of github.com:joelteon/nixpkgs into stagingEelco Dolstra2014-09-23
|\ | | | | | | | | | | | | | | Conflicts: pkgs/development/interpreters/ruby/ruby-19.nix pkgs/development/libraries/libc++/default.nix pkgs/development/libraries/libc++abi/default.nix pkgs/tools/text/sgml/opensp/default.nix
| * build nix head successfullyJoel Taylor2014-09-09
| |
| * livcxx buildJoel Taylor2014-09-09
| |
| * suitable clang stdenvJoel Taylor2014-09-09
| |
* | Prevent an unnecessary evaluation of libEelco Dolstra2014-08-09
|/
* Remove the unmaintained (and AFAIK unused) stdenv for mingwEelco Dolstra2014-06-30
|
* Attempt at getting GCC 4.7 compiled on Illumos...Danny Wilson2013-02-28
| | | | No success yet :-(
* Merge branch 'stdenv-updates' into pi-stdenv-updatesLluís Batlle i Rossell2012-12-28
|\ | | | | | | | | | | | | | | | | Conflicts: pkgs/development/compilers/gcc/4.6/default.nix pkgs/development/compilers/gcc/4.7/default.nix The 4.7 had some weird parameters added in crossAttrs; I've removed them, but I don't understand where they come from.
| * Add an option ‘stdenv.userHook’ to set a global stdenv setup hookEelco Dolstra2012-12-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows various applications. It allows users to set global optimisation flags, e.g. stdenv.userHook = ''NIX_CFLAGS_COMPILE+=" -funroll-loops"''; But the impetus is as an alternative to issue #229, allowing impure stdenv setup for people who want to use distcc: stdenv.userHook = "source /my/impure/setup-script.sh"; This is probably a bad idea, but at least now it's a bad idea in people's configuration and not in Nixpkgs. :-)
* | First movement to get the raspberrypi stdenv building.root2012-12-26
|/
* Remove support for the obsolete powerpc-darwin and i686-darwin platformsEelco Dolstra2012-11-29
|
* Add armv7l support.Nicolas Pierron2012-04-15
| | | | svn path=/nixpkgs/trunk/; revision=33798
* Changing every reference from mips64-linux to mips64el-linux. That'sLluís Batlle i Rossell2012-01-21
| | | | | | | | | what the new nix thinks the fuloong is. Anyone having the old nix should use a nixpkgs previous to this change to build the new nix. And then, with the new nix, he can use any newer nixpkgs revision. svn path=/nixpkgs/trunk/; revision=31751
* Setting any stdenv.system references for the loongson2f system to ↵Lluís Batlle i Rossell2010-09-01
| | | | | | | | | | | | | 'mips64-linux'. (my git-svn info:) Merge branch 'mips64' into stdenv-updates Conflicts: pkgs/applications/networking/browsers/firefox/3.6.nix pkgs/top-level/all-packages.nix svn path=/nixpkgs/branches/stdenv-updates/; revision=23588
* Propagating the 'platform' stdenv attribute properly on stdenvLinux,Lluís Batlle i Rossell2010-08-21
| | | | | | so it can be used in places like the linuxHeaders expression. svn path=/nixpkgs/branches/stdenv-updates/; revision=23343
* Trying to add the fuloong2f for bootstrap-files. It bootstraps fineLluís Batlle i Rossell2010-08-01
| | | | | | (boostrap-files cross-built) svn path=/nixpkgs/branches/stdenv-updates/; revision=22849
* Finishing the update from trunk, having resolved the eclipse related directoryLluís Batlle i Rossell2009-11-26
|\ | | | | | | | | | | | | | | | | | | | | | | renaming. I think directory renaming breaks the usual merges... because it leaves the 'to be removed' directory in the working directory still. A manual 'rm' of the 'to be removed' directory fixed the commit. svn merge ^/nixpkgs/trunk svn path=/nixpkgs/branches/stdenv-updates/; revision=18661
| * add x86_64 stdenv based on stdenvNativeRob Vermaas2009-11-26
| | | | | | | | svn path=/nixpkgs/trunk/; revision=18649
* | Trying to move all stdenv cross-compiling details out of the stdenv expression,Lluís Batlle i Rossell2009-11-17
| | | | | | | | | | | | | | into a stdenv adapater. svn path=/nixpkgs/branches/stdenv-updates/; revision=18397
* | My first attempt at getting cross compilers in nixpkgs.Lluís Batlle i Rossell2009-11-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | My idea is to provide special stdenv expressions that will contain in the path additional cross compilers. As most expressions for programs accept a stdenv parameter, we could substitute this parameter with the special stdenv, which will have a generic builder that attempts the usual "--target=..." and can additionally have an env variable like "cross" with the target architecture set. So, finally we could have additional expressions like this: bashRealArm = makeOverridable (import ../shells/bash) { inherit fetchurl bison; stdenv = stdenvCross "armv5tel-unknown-linux-gnueabi"; }; Meanwhile it does not work - I still cannot get the cross-gcc to build. I think it does not fill the previous expressions with a lot of noise, so I think it may be a good path to follow. I only touched some files of the current stdenv: gcc-4.3, kernel headers 2.6.28, glibc 2.9, ... I tried to use the gcc-cross-wrapper, that may be very outdated. Maybe I will update it, or update the gcc-wrapper expression to make it fit the cross tools, but meanwhile I even cannot build gcc, so I have not tested the wrapper. This new idea on cross compiling is not similar to that of the nixpkgs/branches/cross-compilation, which mostly added bare new expressions for anything to be cross compiled, if I understood it correctly. I cared not to break anything of the usual stdenv in all this work. svn path=/nixpkgs/branches/stdenv-updates/; revision=18343
* | Porting changes from stdenv-updates into this branch.Lluís Batlle i Rossell2009-11-08
|/ | | | | | | | | | | | This comes from: svn diff ^/nixpkgs/trunk/@18255 ^/nixpkgs/branches/stdenv-updates/ > diff patch -p0 < diff and then adding into svn all files new from the patch. trunk@18255 comes from the last time I updated stdenv-updates from trunk. svn path=/nixpkgs/stdenv-updates2/; revision=18272