summary refs log tree commit diff
path: root/lib/systems
Commit message (Collapse)AuthorAge
* androidndk: Add Darwin supportJohn Ericson2018-09-17
| | | | | Also switch Linux to using the official sha1 hashes for consistency. They are gotten from https://developer.android.com/ndk/downloads/.
* hurd: cleanup unmaintained targetJörg Thalheim2018-08-28
| | | | | | This has been not touched in 6 years. Let's remove it to cause less problems when adding new cross-compiling infrastructure. This also simplify gcc significantly.
* [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
* systems: fix netbsd triple parsingMatthew Bauer2018-07-28
| | | | | | | | binutils expects x86_64-unknown-netbsd<version> (only 3 parts!). Any other combo seems to fail. Also handle darwin versions similarly. /cc @Ericson2314
* systems: Allow detection of powerpc and sparcJohn Q Crosscompiler2018-07-26
|
* xcode: add xcodePlatform to systemMatthew Bauer2018-06-25
| | | | | This give us a little bit more control over what target we are using. Eventually we can target other things like WatchOS or MacOS.
* xcode: add xcodeVer to systemMatthew Bauer2018-06-25
| | | | | This version number controls which xcode version to use when building cross to iOS.
* android: add ndkVer to resolve ndk ambiguityMatthew Bauer2018-06-22
| | | | | | | | It wasn’t exactly clear which NDK you were using previously. This adds an attribute to system that handles what version of the NDK we should use when building things. /cc @Ericson2314
* android: Use NDK 17 for aarch32Matthew Bauer2018-06-22
|
* platforms/raspberrypi: enable kernelAutoModulesBen Wolsieffer2018-06-12
|
* Merge branch 'plat-fix-for-merge-2' into masterTuomas Tynkkynen2018-06-01
|\
| * platforms.nix: More rpi2 cleanupTuomas Tynkkynen2018-05-31
| |
| * platforms.nix: Clean up obsolete cruft from raspberrypi2Tuomas Tynkkynen2018-05-31
| |
| * platforms.nix: Clean up obsolete cruft from raspberrypiTuomas Tynkkynen2018-05-31
| | | | | | | | | | Works fine without, and the 'DRM n' is actually preventing the mainline VC4 driver from building.
| * linux_rpi: Specify defconfig in kernel expressionTuomas Tynkkynen2018-05-31
| | | | | | | | | | | | | | In particular, now the mainline kernel can be built on the RPi 1 as well (so kernelBaseConfig should always be a mainline defconfig from now on). And RPi 2 users can now use linux_rpi without doing the `nixpkgs.config.platform = lib.systems.platforms.raspberrypi2;` dance.
* | lib: Fix `nix-env -qaP -f . --xml --meta`John Ericson2018-05-29
| | | | | | | | A merge undid my fix in d437f2c365a12fb3894eb87f52decf53c745f475.
* | Merge branch 'master' into stagingJan Malakhovski2018-05-26
|\ \ | | | | | | | | | | | | | | | Fixed conflicts: - lib/systems/for-meta.nix: in favor of staging - pkgs/os-specific/darwin/xcode/default.nix: in favor of master
| * | lib: Fix `nix-env -qaP -f . --xml --meta`John Ericson2018-05-24
| |/ | | | | | | | | The function value cannot be serialized so nix-env was mad. Turns out we can just remove it like we do in `lib/systems/inspect.nix`.
* | Merge remote-tracking branch 'upstream/master' into stagingTuomas Tynkkynen2018-05-18
|\| | | | | | | | | Conflicts: pkgs/top-level/all-packages.nix
| * androidndk: Fix usage as crossSystemBastian Köcher2018-05-17
| |
* | Merge commit '92b7a814f26ee1d37e989431c18518c67285a332' into stagingJohn Ericson2018-05-13
|\|
| * Merge branch 'fix-gcc-with-float'John Ericson2018-05-12
| |\
| | * lib: Fix float handling for Aarch32John Ericson2018-05-12
| | | | | | | | | | | | Forgot to adjust default so abi with explicit float attr would be used.
| | * prebuilt android cc: Edit wrapper to pass the right -m flags for armv7aJohn Ericson2018-05-12
| | | | | | | | | | | | (cherry picked from commit 827ef0914089e1a2bba140b49e1311eff28cc156)
| * | lib/system: Remove float from androideabiJohn Ericson2018-05-11
| | | | | | | | | | | | | | | | | | | | | | | | There are two different official variations which differ in their float support, so such a blanket statement is invalid. `lib.systems.platforms.*android` already handles each case correctly. Correcting an error in 827ef0914089e1a2bba140b49e1311eff28cc156.
| * | prebuilt android cc: Edit wrapper to pass the right -m flags for armv7aJohn Ericson2018-05-11
| | |
| * | lib/systems: Add assertion to "android" ABIJohn Ericson2018-05-11
| | | | | | | | | | | | This is analogous to the GNU assertion.
| * | lib/systems/inspect: Fix after assertionsJohn Ericson2018-05-11
| | | | | | | | | | | | | | | Function are never equal in Nix, so we need to filter out this attribute in ABIs.
| * | Merge pull request #40385 from obsidiansystems/lib-android-platformsJohn Ericson2018-05-11
| |\| | | | | | | lib: Add 32-bit Android platforms
| | * lib: Add 32-bit Android platformsJohn Ericson2018-05-11
| | |
* | | Merge remote-tracking branch 'upstream/master' into stagingJohn Ericson2018-05-11
|\| |
| * | Merge pull request #40378 from obsidiansystems/lib-platform-sortJohn Ericson2018-05-11
| |\| | | | | | | lib/systems: Sort platforms, and space CPUs
| | * lib/systems: Sort platforms, and space CPUsJohn Ericson2018-05-11
| | |
* | | Merge remote-tracking branch 'upstream/master' into stagingJohn Ericson2018-05-11
|\| |
| * | Merge remote-tracking branch 'upstream/master' into lib-floatJohn Ericson2018-05-10
| |\ \ | | |/ | |/|
| * | lib: Clean up float/fpu optionsJohn Ericson2018-05-10
| | | | | | | | | | | | | | | | | | ARM ABIs now have a float field. This is used as a fallback to lessen our use of `platform.gcc.float`. I didn't know what the MIPs convention is so I kept using `platform.gcc.float` in that case.
* | | Merge remote-tracking branch 'upstream/master' into stagingJohn Ericson2018-05-10
|\ \ \ | | |/ | |/|
| * | lib/systems: Prohibit "gnu" ABI (*-gnu) with 32-bit ARMJohn Ericson2018-05-10
| | | | | | | | | | | | It is ambiguous, and therefore banned within GCC.
* | | Merge commit 'feb648ce59ffbed94c58133eb7aa2761992a35e1' into stagingJohn Ericson2018-05-10
|\| |
| * | Merge commit '70963b382f3f820ba6d3bc3b3aaf50a2957ec1ff' into ↵John Ericson2018-05-10
| |\ \ | | |/ | |/| | | | lib-platform-simplify
| * | treewide: Get rid of `*Platform.arch`John Ericson2018-05-10
| | | | | | | | | | | | Use `parsed.cpu.name` or `platform.gcc.arch` instead.
| * | xbursttools: Cleanup slightlyJohn Ericson2018-05-09
| | |
| * | lib/systems: Add uClibc just like MUSLJohn Ericson2018-05-09
| | |
| * | lib/systems: Parse more arm cpu typesJohn Ericson2018-05-09
| | |
* | | lib.systems.gnu: Accept gnueabi as a gnu platformBen Gamari2018-05-03
| |/ |/|
* | lib/systems: Fix eval for iphone32* examplesJohn Ericson2018-05-01
| | | | | | | | Whoops messed up 9a845de873dfcc31f360a08f1b1f786c6f649c7d slightly.
* | lib/systems: Update iOS examplesJohn Ericson2018-05-01
| | | | | | | | | | | | The commented-out configs are @shlevy's old known-good ones. I changed them as needed to play nice with lib.systems.parse but did not test so leaving them as comments for now.
* | Merge remote-tracking branch 'upstream/master' into aarch32John Ericson2018-04-30
|\ \ | |/ |/|
| * treewide: isArm -> isAarch32John Ericson2018-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Merge pull request #39172 from obsidiansystems/ios-crossJohn Ericson2018-04-19
| |\ | | | | | | ios-sdk-pkgs: Init from iOS SDK from XCode