about summary refs log tree commit diff
path: root/pkgs/stdenv
AgeCommit message (Collapse)AuthorFilesLines
2018-04-27check-meta.nix: specify meta.timeoutMichael Raskin1-0/+2
2018-04-25treewide: isArm -> isAarch32John Ericson1-1/+1
Following legacy packing conventions, `isArm` was defined just for 32-bit ARM instruction set. This is confusing to non packagers though, because Aarch64 is an ARM instruction set. The official ARM overview for ARMv8[1] is surprisingly not confusing, given the overall state of affairs for ARM naming conventions, and offers us a solution. It divides the nomenclature into three levels: ``` ISA: ARMv8 {-A, -R, -M} / \ Mode: Aarch32 Aarch64 | / \ Encoding: A64 A32 T32 ``` At the top is the overall v8 instruction set archicture. Second are the two modes, defined by bitwidth but differing in other semantics too, and buttom are the encodings, (hopefully?) isomorphic if they encode the same mode. The 32 bit encodings are mostly backwards compatible with previous non-Thumb and Thumb encodings, and if so we can pun the mode names to instead mean "sets of compatable or isomorphic encodings", and then voilà we have nice names for 32-bit and 64-bit arm instruction sets which do not use the word ARM so as to not confused either laymen or experienced ARM packages. [1]: https://developer.arm.com/products/architecture/a-profile
2018-04-25musl-stdenv: don't add special allowance for libiconvWill Dietz1-1/+0
2018-04-24musl bootstrap: remove libiconvWill Dietz2-3/+1
2018-04-19Merge pull request #39172 from obsidiansystems/ios-crossJohn Ericson1-2/+2
ios-sdk-pkgs: Init from iOS SDK from XCode
2018-04-19ios-sdk-pkgs: Init from iOS SDK from XCodeKen Micklas1-2/+2
2018-04-19Merge pull request #38485 from obsidiansystems/nixos-nixpkgs-optionsJohn Ericson1-1/+1
nixpkgs module: Clean up platform options
2018-04-18Merge pull request #38932 from svanderburg/cygwin-fixesJohn Ericson2-5/+14
Fix stdenv-native and fix rebasing on cygwin
2018-04-17Merge pull request #38639 from shlevy/platforms-not-brokenJohn Ericson1-5/+9
meta: Don't bypass unsupported platforms with allowBroken.
2018-04-17meta: Add `NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM` for consistencyJohn Ericson1-3/+6
2018-04-17meta: Don't bypass unsupported platforms with allowBroken.Shea Levy1-2/+3
Our platforms are open-world oriented these days, and anyway there's allowUnsupportedSystem.
2018-04-14Fix invalid Baseaddress must be > 0x200000000 on cygwinSander van der Burg1-1/+1
2018-04-14Fix stdenv-native by creating a bintools wrapper with similar settingsSander van der Burg1-4/+13
2018-04-06nixpkgs module: Clean up platform optionsJohn Ericson1-1/+1
- `localSystem` is added, it strictly supercedes system - `crossSystem`'s description mentions `localSystem` (and vice versa). - No more weird special casing I don't even understand TEMP
2018-04-03binutils: No more darwin conditionalsJohn Ericson2-4/+4
Since at least d7bddc27b23da8ce7bc19cfeeeb0cbebdb5a4410, we've had a situation where one should depend on: - `stdenv.cc.bintools`: for executables at build time - `libbfd` or `libiberty`: for those libraries - `targetPackages.cc.bintools`: for exectuables at *run* time - `binutils`: only for specifically GNU Binutils's executables, regardless of the host platform, at run time. and that commit cleaned up this usage to reflect that. This PR flips the switch so that: - `binutils` is indeed unconditionally GNU Binutils - `binutils-raw`, which previously served that role, is gone. so that the correct usage will be enforced going forward and everything is simple. N.B. In a few cases `binutils-unwrapped` (which before and now was unconditionally actual GNU binutils), rather than `binutils` was used to replace old `binutils-raw` as it is friendly towards some cross compilation usage by avoiding a reference to the next bootstrapping change.
2018-03-27meta: Simplify platform check logicJohn Ericson1-3/+4
Code golf or readability, you decide
2018-03-27meta: Add badPlatforms attribute for platform blacklisting.Shea Levy1-2/+4
2018-03-20cross stdenv: Make depsBuildBuild overrideable by config too.John Ericson1-2/+8
2018-03-19Merge pull request #37395 from obsidiansystems/lib-meta-platformJohn Ericson1-4/+2
lib: Factor in tiny bit of `meta.platform` checking
2018-03-19lib: Factor in tiny bit of `meta.platform` checkingJohn Ericson1-4/+2
I need it in stdenv and release-lib, so that seems motivation enough.
2018-03-18Merge pull request #34444 from obsidiansystems/meta-checkJohn Ericson2-18/+22
lib: Fix #30902
2018-03-15lib, stdenv: Check `meta.platforms` against host platform and be open worldJohn Ericson2-5/+10
First, we need check against the host platform, not the build platform. That's simple enough. Second, we move away from exahustive finite case analysis (i.e. exhaustively listing all platforms the package builds on). That only work in a closed-world setting, where we know all platforms we might build one. But with cross compilation, we may be building for arbitrary platforms, So we need fancier filters. This is the closed world to open world change. The solution is instead of having a list of systems (strings in the form "foo-bar"), we have a list of of systems or "patterns", i.e. attributes that partially match the output of the parsers in `lib.systems.parse`. The "check meta" logic treats the systems strings as an exact whitelist just as before, but treats the patterns as a fuzzy whitelist, intersecting the actual `hostPlatform` with the pattern and then checking for equality. (This is done using `matchAttrs`). The default convenience lists for `meta.platforms` are now changed to be lists of patterns (usually a single pattern) in `lib/systems/for-meta.nix` for maximum flexibility under this new system. Fixes #30902
2018-03-14stdenv: Clean up check meta argsJohn Ericson2-14/+13
2018-03-10Merge branch 'master' into stagingJan Malakhovski2-2/+2
Resolved the following conflicts (by carefully applying patches from the both branches since the fork point): pkgs/development/libraries/epoxy/default.nix pkgs/development/libraries/gtk+/3.x.nix pkgs/development/python-modules/asgiref/default.nix pkgs/development/python-modules/daphne/default.nix pkgs/os-specific/linux/systemd/default.nix
2018-03-06Merge pull request #36401 from obsidiansystems/no-stdenv-cross-adapterJohn Ericson1-11/+0
stdenv cross adapter: Get rid if `selfNativeBuildInput`
2018-03-06stdenv cross adapter: Get rid if `selfNativeBuildInput`John Ericson1-11/+0
It is finally no longer used anywhere Fixes #30587
2018-03-06stdenv: check-meta: fix fallout from #36119Jan Malakhovski1-1/+1
2018-03-06make-bootstrap-tools: preserve coreutils symlinksWill Dietz1-1/+1
We go out of our way (see top of file) to build a single binary with symlinks for all of the tools, but were losing them when preparing the bootstrap tools.
2018-02-28Merge remote-tracking branch 'upstream/master' into stagingTuomas Tynkkynen4-5/+9
Conflicts: pkgs/applications/misc/pytrainer/default.nix pkgs/development/tools/pew/default.nix pkgs/tools/misc/you-get/default.nix
2018-02-27prebuilt android tools: Init using SDKJohn Ericson1-1/+3
Expose as an option for the cross stdenv.
2018-02-27Merge pull request #35247 from telent/mips32John Ericson3-4/+6
lib, treewide: Add missing MIPS arches, and fix existing usage
2018-02-26Merge pull request #35071 from oxij/stdenv/infopagesJohn Ericson2-21/+26
stdenv, bash: fixing info pages and stuff
2018-02-26stdenv: darwin: give distinct names to all the stagesJan Malakhovski1-11/+13
2018-02-26stdenv: linux: give distinct names to all the stagesJan Malakhovski1-10/+11
Mainly for debugging.
2018-02-26stdenv: linux, darwin: don't build documentation for the the intermediate stagesJan Malakhovski2-0/+2
For the cc of the intermediate stages, to be precise. Doing the same for bintools requires lots of refactoring. This is mainly for the future extensibility as now you can change documentation generation with impunity without rebuilding the whole of stdenv.
2018-02-24libgcrypt: Fix cross-compilationShea Levy1-0/+2
2018-02-23lib, treewide: Add missing MIPS arches, and fix existing usageDaniel Barlow3-4/+6
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
2018-02-20Merge branch 'master' into stagingVladimír Čunát5-5/+7
Larger rebuilds from master.
2018-02-19Merge branch 'staging' into gcc-7Vladimír Čunát1-1/+1
I'm betting Hydra resources on gcc-7 getting to master before current staging.
2018-02-19Merge pull request #35111 from oxij/stdenv/available-evaluatesMichael Raskin2-3/+3
stdenv.mkDerivation: rename `meta.evaluates` -> `meta.available`
2018-02-19Merge pull request #35110 from oxij/pkgs/pretty-fetchurlMichael Raskin3-2/+4
fetchurl: cleanup, better errors
2018-02-18Merge remote-tracking branch 'origin/master' into stagingShea Levy2-2/+4
2018-02-18Merge branch 'master' into gcc-7Shea Levy2-2/+3
2018-02-18Enable building riscv64 cross bootstrap toolsShea Levy2-2/+4
Fixes #35089
2018-02-18fetchurl: cleanup, better errorsJan Malakhovski3-2/+4
Also fix what seems like bugs in uncommon `stdenv`s.
2018-02-18stdenv.mkDerivation: rename `meta.evaluates` -> `meta.available`Jan Malakhovski2-3/+3
A much better name.
2018-02-15Handle sourceRoots with leading dashesShea Levy1-1/+1
2018-02-15Merge remote-tracking branch 'upstream/staging' into gcc-7Tuomas Tynkkynen11-62/+232
Conflicts: pkgs/development/libraries/libidn/default.nix pkgs/top-level/all-packages.nix
2018-02-13x86_64-musl bootstrap: use separate 64bit busyboxWill Dietz1-3/+5
Avoid issues like #24954.
2018-02-13new musl bootstrap URL's, much smaller. rebuild all the things.Will Dietz3-9/+8