summaryrefslogtreecommitdiff
path: root/pkgs/stdenv/native (follow)
Commit message (Expand)AuthorAgeFilesLines
* treewide: fix nix-env eval in crossDavid McFarland2025-12-041-0/+4
* fetchurl: Allow hashed mirror overriding with config.hashedMirrors•••Allows having alternate hashed mirrors as fallbacks. Useful in case the default hashed mirror is not accessible or doesn't have everything needed. Co-authored-by: Johan Herland <johan.herland@tweag.io> Co-authored-by: Yuriy Taraday <yuriy.taraday@tweag.io> Co-authored-by: Alexander Bantyev <balsoft@balsoft.ru> Silvan Mosberger2025-10-061-1/+1
* stdenv: Pass rewriteURL to freebsd and native stdenvs•••Was missing from abda866f172173b6fd16ccec9b15fb1cbb649cb2 While the native stdenv's eval seems to be broken anyways, the freebsd one at least evaluates again with this Silvan Mosberger2025-10-061-0/+1
* treewide: run nixfmt 1.0.0Wolfgang Walther2025-07-241-17/+16
* treewide: format all inactive Nix files•••After final improvements to the official formatter implementation, this commit now performs the first treewide reformat of Nix files using it. This is part of the implementation of RFC 166. Only "inactive" files are reformatted, meaning only files that aren't being touched by any PR with activity in the past 2 months. This is to avoid conflicts for PRs that might soon be merged. Later we can do a full treewide reformat to get the rest, which should not cause as many conflicts. A CI check has already been running for some time to ensure that new and already-formatted files are formatted, so the files being reformatted here should also stay formatted. This commit was automatically created and can be verified using nix-build https://github.com/infinisil/treewide-nixpkgs-reformat-script/archive/a08b3a4d199c6124ac5b36a889d9099b4383463f.tar.gz \ --argstr baseRev b32a0943687d2a5094a6d92f25a4b6e16a76b5b7 result/bin/apply-formatting $NIXPKGS_PATH Silvan Mosberger2024-12-101-68/+121
* stdenv: consistently use `self: super: …` for bootstrapping overlays•••As of late, `final: prev: …` for overlays has become more prevalent in newer code. This is also exhibited in some code (presumably added recently) in stdenv. This change is not about any merits or demerits of any naming convention, but rather aims to make the nomenclature in stdenv bootstrapping consistent to lessen confusion. I've chosen to stick to `self: super: …` convention because: 1. It is more common in the code as it stands. 2. Using `final: prev: …` makes the code more confusing, als it causes `prev` to be in scope alongside `prevStage`. `prevStage` actually bears no relation to `prev` even though their naming suggests it, making it easy to confuse them (the former is the (final) package set of the previous stage while the latter is just the `prev`/`super` of the overlay “chaining” on a completely fresh package set, i.e. `prev` doesn't even relate to the previous stage's `overrides` argument). This change also corrects a naming error in stdenv/native which had no effect, as the variables were unused. sternenseemann2024-04-151-1/+1
* stdenv: fix stagesNativeuri2023-07-021-2/+5
* treewide: use lib.optionalsFelix Buehler2023-02-141-3/+3
* stdenv/native: fix bintools importJonathan Ringer2021-06-071-1/+1
* stdenv/{native,nix}: add lib to cc-wrapper argsTaeer Bar-Yam2021-04-211-1/+1
* stdenv/native: provide patchelf on linux•••This provides consistency with the pure stdenv, which provides patchelf this way. Native stdenv can always just manually install patchelf on their system, but like xz, it’s unlikely to be provided in /usr/bin/. In addition, it’s not even in the RHEL7 repos. Matthew Bauer2020-08-251-4/+5
* treewide: remove redundant quotesvolth2019-08-261-2/+2
* stdenv/native: add missing argumentAndrew Dunham2019-01-021-1/+1
* stdenv: implement crossOverlays•••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. Matthew Bauer2018-12-041-1/+1
* [bot] treewide: remove unused 'inherit' in let blocksvolth2018-07-201-1/+1
* Fix stdenv-native by creating a bintools wrapper with similar settingsSander van der Burg2018-04-141-4/+13
* fetchurl: cleanup, better errors•••Also fix what seems like bugs in uncommon `stdenv`s. Jan Malakhovski2018-02-181-1/+1
* cc-wrapper: Use stdenvNoCC to build•••cc-wrapper may wrap a cc-compiler, but it doesn't need one to build itself. (c.f. expand-response-params is a separate derivation.) This helps avoid cycles on the cross stuff, in addition to removing a useless dependency edge. I could have been super careful with overrides in the stdenv to avoid the mass rebuild, but I don't think it's worth it. John Ericson2017-09-261-1/+2
* stdenvs: Distinguish between `extraBuildInputs` and `extraNativeBuildInputs`•••This version continues to use bash + stdenv/setup for the default inputs. John Ericson2017-08-181-4/+4
* Revert "stdenvs: Distinguish between `extraBuildInputs` and `extraNativeBuild...•••This reverts commit eeabf85780e7fccc0289b4015b695e28ef166ab7. This change suddenly makes tons of stdenv internals visible in nativeBuildInputs of every derivation, which doesn't seem desirable. E.g: ```` nix-repl> hello.nativeBuildInputs [ «derivation /nix/store/bcfkyf6bhssxd2vzwgzmsbn7b5b9rpxc-patchelf-0.9.drv» «derivation /nix/store/4wnshnz9wwanpfzcrdd76rri7pyqn9sk-paxctl-0.9.drv» << snip 10+ lines >> «derivation /nix/store/d35pgh1lcg5nm0x28d899pxj30b8c9b2-gcc-wrapper-6.4.0.drv» ] ```` Tuomas Tynkkynen2017-08-181-4/+4
* stdenvs: Distinguish between `extraBuildInputs` and `extraNativeBuildInputs`•••Additionally, instead of pulling them from `setup.sh`, route them via Nix. This gets us one step closer to making stdenv be a plain attribute set instead of a derivation. John Ericson2017-08-151-4/+4
* top-level: {build,host,target}Platform are defined in the stdenv instead•••See #27069 for a discussion of this John Ericson2017-07-071-8/+1
* stdenv: remove leftover 'system' reference•••the rest were removed in 1dc6f15de995da2d0351b34c40215336e219cf82 David McFarland2017-06-261-1/+1
* cc-wrapper: Learn about target prefixes•••This is first step towards getting rid of gcc-wrapper-cross John Ericson2017-06-221-0/+1
* cc-wrapper: Remove `stdenv.is*` for `targetPlatform.is*`•••Modify bootstrapping stdenvs to make sure `targetPlatform` also passed. John Ericson2017-06-221-0/+1
* stdenv: define is* predicates with hostPlatform.is*•••This is a saner default until stdenv's are removed altogether John Ericson2017-05-221-0/+3
* top-level: Lay the groundwork for `{build,host,target}Platform`•••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. John Ericson2017-01-241-3/+10
* 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. Nicolas B. Pierron2017-01-161-3/+3
* top-level: Normalize stdenv booting•••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. John Ericson2017-01-131-39/+43
* top-level: Modernize stdenv.overrides giving it self and super•••Document breaking change in 17.03 release notes John Ericson2017-01-131-2/+2
* top-level: turn the screw••• - 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. John Ericson2016-12-011-2/+6
* top-level: Close over fewer arguments for stdenv stages•••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`. John Ericson2016-11-301-1/+1
* top-level: Remove cycles: stdenv calls in top-level but not vice versa•••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 John Ericson2016-11-301-1/+2
* top-level: Make `stdenv/default.nix` more concise with `inherit (expr) id;` s...John Ericson2016-10-271-1/+1
* cc-wrapper: add option to skip flags for native optimizationsNikolay Amiantov2016-03-241-0/+1
* Don't include /no-such-path in buildInputsEelco Dolstra2015-06-151-1/+1
* cygwin: stdenvFlorian Friesdorf2015-05-281-5/+18
* Remove unused fileEelco Dolstra2015-03-231-8/+0
* rename gcc-wrapper to cc-wrapper.•••also makes cc-wrapper compatible with clang in the darwin fork. Eric Seidel2015-01-141-2/+2
* I think this should fix the evaluation errors in hydraDaniel Peebles2014-12-271-6/+6
* Set SDKROOT etc. in stdenvNative•••Fixes a build failure in gawk with Xcode 6.1 on 10.9. Eelco Dolstra2014-11-041-3/+1
* gcc-wrapper: Remove NIX_GCC_NEEDS_GREP•••This is not needed on any currently supported platform. Eelco Dolstra2014-09-231-9/+0
* Add SmartOS native GCC path.Danny Wilson2013-02-281-1/+1
* Attempt at getting GCC 4.7 compiled on Illumos...•••No success yet :-( Danny Wilson2013-02-281-0/+1
* Add an option ‘stdenv.userHook’ to set a global stdenv setup hook•••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. :-) Eelco Dolstra2012-12-281-2/+2
* Remove support for the obsolete powerpc-darwin and i686-darwin platformsEelco Dolstra2012-11-291-16/+16
* * Call all the stdenvs "stdenv" (rather than e.g. "stdenv-linux")••• so that "nix-env -i stdenv" does the expected. svn path=/nixpkgs/branches/stdenv-updates/; revision=31742 Eelco Dolstra2012-01-201-2/+0
* * Build ‘xz’ during the stdenvNative bootstrap, since we really can't••• rely on it being present. svn path=/nixpkgs/branches/stdenv-updates/; revision=31707 Eelco Dolstra2012-01-191-6/+7
* * Prepend the "prehook" rather than sourcing it.•••* Don't call xargs with the -r flag in the Darwin bootstrap. svn path=/nixpkgs/branches/stdenv-updates/; revision=31703 Eelco Dolstra2012-01-191-11/+12
* * Sync with the trunk.•••svn path=/nixpkgs/branches/stdenv-updates/; revision=30852 Eelco Dolstra2011-12-121-4/+8
|\