summary refs log tree commit diff
path: root/lib/systems
Commit message (Collapse)AuthorAge
* kernel: Build Tegra PCI support.Drew Hess2017-10-18
|
* Merge pull request #27797 from grahamc/fixed-libJohn Ericson2017-09-19
|\ | | | | Convert libs to a fixed-point
| * Convert libs to a fixed-pointGraham Christensen2017-09-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This does break the API of being able to import any lib file and get its libs, however I'm not sure people did this. I made this while exploring being able to swap out docFn with a stub in #2305, to avoid functor performance problems. I don't know if that is going to move forward (or if it is a problem or not,) but after doing all this work figured I'd put it up anyway :) Two notable advantages to this approach: 1. when a lib inherits another lib's functions, it doesn't automatically get put in to the scope of lib 2. when a lib implements a new obscure functions, it doesn't automatically get put in to the scope of lib Using the test script (later in this commit) I got the following diff on the API: + diff master fixed-lib 11764a11765,11766 > .types.defaultFunctor > .types.defaultTypeMerge 11774a11777,11778 > .types.isOptionType > .types.isType 11781a11786 > .types.mkOptionType 11788a11794 > .types.setType 11795a11802 > .types.types This means that this commit _adds_ to the API, however I can't find a way to fix these last remaining discrepancies. At least none are _removed_. Test script (run with nix-repl in the PATH): #!/bin/sh set -eux repl() { suff=${1:-} echo "(import ./lib)$suff" \ | nix-repl 2>&1 } attrs_to_check() { repl "${1:-}" \ | tr ';' $'\n' \ | grep "\.\.\." \ | cut -d' ' -f2 \ | sed -e "s/^/${1:-}./" \ | sort } summ() { repl "${1:-}" \ | tr ' ' $'\n' \ | sort \ | uniq } deep_summ() { suff="${1:-}" depth="${2:-4}" depth=$((depth - 1)) summ "$suff" for attr in $(attrs_to_check "$suff" | grep -v "types.types"); do if [ $depth -eq 0 ]; then summ "$attr" | sed -e "s/^/$attr./" else deep_summ "$attr" "$depth" | sed -e "s/^/$attr./" fi done } ( cd nixpkgs #git add . #git commit -m "Auto-commit, sorry" || true git checkout fixed-lib deep_summ > ../fixed-lib git checkout master deep_summ > ../master ) if diff master fixed-lib; then echo "SHALLOW MATCH!" fi ( cd nixpkgs git checkout fixed-lib repl .types )
* | lib: Add `*Platform.extensions`John Ericson2017-09-13
|/ | | | | This is used to platform specific library and exectuable extensions. In the next commit I'll replace a bunch of ad-hoc logic with it.
* Fix "treewide: Consistently call ARM 'arm'"Tuomas Tynkkynen2017-08-24
| | | | | | 0c0fad6141cf3d62 was broken. I didn't realize there's some hidden metaprogramming code where one can't even grep for 'isFoo' to find its definition :(
* treewide: Consistently call ARM 'arm'Tuomas Tynkkynen2017-08-24
| | | | No need for silly differences.
* kernel: Build Tegra X1 USB support as a moduleTuomas Tynkkynen2017-07-28
|
* lib: Add isPowerPC predicate, and fix family nameJohn Ericson2017-07-10
|
* lib: Include darwin in isUnixDavid McFarland2017-07-03
|
* stdenv: remove unix kernel familyDavid McFarland2017-06-26
| | | | | System predicate patterns can now be specified as a list of OR'd attribute sets.
* cygwin: fix doubleFromSystem for cygwinDavid McFarland2017-06-26
|
* lib and doc: Use "libSystem" as identifier for that libc in platformsJohn Ericson2017-05-31
|
* cross tests and stdenv: armv5te*l* of sheevaplug explicitJohn Ericson2017-05-29
| | | | | The "l" suffix presumably indicates it is little-endian, which it is.
* lib: Consolidate platform configurations (used for crossSystem)John Ericson2017-05-29
| | | | This is good for maintenance and education.
* zpaqd: Modernize derivationJohn Ericson2017-05-22
| | | | | - Simplified platform-specific options - Almost ready for cross-compilation
* 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.
* 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.
* lib: Make platform predicates more ergonomic to useJohn Ericson2017-05-22
| | | | | `hostPlatform.isDarwin` instead of `lib.system.parse.isDarwin hostPlatform.parsed`
* lib platform parsing: Whitelist `darwin10` and `darwin14` as stopgapJohn Ericson2017-05-17
| | | | | Something better should be done longer term to support such version suffixes.
* lib platform parsing: Fix windows support to conform to LLVM, take 2John Ericson2017-05-17
| | | | | | | Second attempt at pull request #25275 This reverts commit b70924bd80918d153a5e2023afd7647ae7b24a12, reapplying 2282a5774cd80567644a44d31585bf965a55f9ec
* Revert "Merge pull request #25275 from Ericson2314/platform-normalize"Vladimír Čunát2017-05-06
| | | | | | | | This reverts commit 2282a5774cd80567644a44d31585bf965a55f9ec, reversing changes made to 14adea91566019549f33392d4710d9babd0108d7. The lib tests are bloking nixpkgs-unstable, and I don't like debugging it soon enough.
* Merge pull request #25035 from elitak/cross-stagingMichael Raskin2017-05-01
|\ | | | | Add some ARM platforms
| * platforms: add CompuLab Utilite (armv7)Eric Litak2017-04-19
| |
| * platforms: add pogoplug4 (armv5tel softfloat)Eric Litak2017-04-19
| |
| * platforms: add scaleway-c1 (armv7 sans NEON)Eric Litak2017-04-19
| |
* | lib platform parsing: Fix windowsJohn Ericson2017-04-27
| | | | | | | | | | | | | | | | There is no more `cygwin` OS, but instead a `cygnus` abi. "win32" and "mingw32" parse as `windows`. Add a 3-part hack because autotools breaks on explicit abi with windows-like (e.g. "i686-pc-windows-gnu"). Also change cross triples to conform
* | lib platform parsing: Turn assertion back onJohn Ericson2017-04-27
| |
* | lib: Whitelist two ABIs used on ArmJohn Ericson2017-04-25
|/
* Elaborate `localSystem` and `crossSystem` in a consistent mannerJohn Ericson2017-04-17
|
* lib: Fix system parsing, and use for doubles listsJohn Ericson2017-04-17
| | | | | | | The old hard-coded lists are now used to test system parsing. In the process, make an `assertTrue` in release lib for eval tests; also use it in release-cross
* lib: Collect system/platform related filesJohn Ericson2017-04-17
Previously, platforms was a random thing in top-level