about summary refs log tree commit diff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2021-05-22Revert "21.11 is Porcupine!"Jonathan Ringer1-1/+1
This reverts commit ff1ded3e2047268a55d3443459cda01cf9242e45.
2021-05-22Merge remote-tracking branch 'origin/master' into staging-nextJonathan Ringer1-1/+1
Conflicts: pkgs/tools/networking/xh/default.nix
2021-05-2221.11 is Porcupine!Jonathan Ringer1-1/+1
2021-05-17darwin: use "11.0" as sdk and minimum version on aarch64-darwinAndrew Childs1-1/+1
2021-05-17lib/systems/platforms: add Apple M1Andrew Childs1-1/+11
2021-05-17Add crossPkgs.aarch64-darwinMoritz Angermann1-0/+6
2021-05-17lib/systems: add aarch64-darwin to mesaPlatformsMatthew Bauer1-1/+1
2021-05-15Merge staging-next into staginggithub-actions[bot]1-9/+14
2021-05-14treewide: All the linker to be chosen independentlyJohn Ericson1-0/+13
This will begin the process of breaking up the `useLLVM` monolith. That is good in general, but I hope will be good for NetBSD and Darwin in particular. Co-authored-by: sterni <sternenseemann@systemli.org>
2021-05-14lib/systems/parse: make isCompatible description clearer and more usefulBen Siraphob1-9/+14
Stating that CPUs and the isCompatible relation forms a category (or preorder) is correct but overtly technical. We can state it more clearly for readers unfamiliar with mathematics while retaining some keywords to be useful to technical readers.
2021-05-11treewide: Support aarch64-android using minimal prebuilt componentss13411-0/+9
This PR adds a new aarch64 android toolchain, which leverages the existing crossSystem infrastructure and LLVM builders to generate a working toolchain with minimal prebuilt components. The only thing that is prebuilt is the bionic libc. This is because it is practically impossible to compile bionic outside of an AOSP tree. I tried and failed, braver souls may prevail. For now I just grab the relevant binaries from https://android.googlesource.com/. I also grab the msm kernel sources from there to generate headers. I've included a minor patch to the existing kernel-headers derivation in order to expose an internal function. Everything else, from binutils up, is using stock code. Many thanks to @Ericson2314 for his help on this, and for building such a powerful system in the first place! One motivation for this is to be able to build a toolchain which will work on an aarch64 linux machine. To my knowledge, there is no existing toolchain for an aarch64-linux builder and an aarch64-android target.
2021-05-08nixpkgs-manual: lib.attrsets.mapAttrsToList returns a list (#122179)Erlend Pedersen1-0/+4
2021-05-08Merge pull request #117888 from kvtb/patch-3Silvan Mosberger1-4/+4
types.nix: fix outdated comment
2021-05-08Merge pull request #114374 from oxalica/lib/platform-support-checkSilvan Mosberger1-0/+12
lib.meta: introduce `availableOn` to check package availability on given platform
2021-05-07Merge pull request #119406 from sternenseemann/toDerivation-listSilvan Mosberger1-2/+2
lib/attrsets: make toDerivation x always work when isStorePath x
2021-05-07Merge pull request #121870 from Pacman99/pass-specialargsRobert Hensing1-1/+1
lib/modules: pass specialArgs to modules
2021-05-07lib/strings: forbid lists in isStorePathsternenseemann1-1/+1
When a list is passed to isStorePath this is most likely a mistake and it is therefore better to just return false. There is one case where this theoretically makes sense (if a list contains a single element for which isStorePath elem), but since that case is also probably seldomly intentional, it may save someone from debbuging unclear evaluation errors.
2021-05-07lib/strings: fix example for isStorePathsternenseemann1-1/+1
Since it checks if dirOf x is the nix store dir, a trailing slash will break this check and make it return false.
2021-05-06lib/modules: pass specialArgs as a module argumentPacman991-1/+1
2021-05-06treewide: Do a number of no-op cleanups for cross and darwinJohn Ericson1-3/+5
I am taking the non-invasive parts of #110914 to hopefully help out with #111988. In particular: - Use `lib.makeScopeWithSplicing` to make the `darwin` package set have a proper `callPackage`. - Adjust Darwin `stdenv`'s overlays keeping things from the previous stage to not stick around too much. - Expose `binutilsNoLibc` / `darwin.binutilsNoLibc` to hopefully get us closer to a unified LLVM and GCC bootstrap.
2021-05-06lib/modules: Small optimizationSilvan Mosberger1-6/+4
2021-05-05Merge pull request #114955 from berbiche/fix/modules-imports-listSilvan Mosberger1-0/+4
lib/modules: provide a better error message when "imports" contains a list
2021-05-05lib/modules: provide error message when imports contains a listNicolas Berbiche1-0/+4
2021-05-05Revert "lib/modules: Issue type deprecation warnings recursively"Robert Hensing1-13/+4
This reverts commit 4b54aedee5e05aaf2838f6d951508b83e33d2baa.
2021-05-05Revert "lib/tests: Add type deprecation tests"Robert Hensing2-45/+0
This reverts commit 8b957e3b301d748e6fbbed806d82bd9d4b9d4ac4.
2021-05-03lib/tests: Add type deprecation testsSilvan Mosberger2-0/+45
2021-05-03lib/modules: Issue type deprecation warnings recursivelySilvan Mosberger1-4/+13
Previously, an option of type attrsOf string wouldn't throw a deprecation warning, even though the string type is deprecated. This was because the deprecation warning trigger only looked at the type of the option itself, not any of its subtypes. This commit fixes this, causing each of the types deprecationMessages to trigger for the option. This relies on the subtypes mkOptionType attribute introduced in 26607a5a2e06653fec453c83d063cdfc4b59185f
2021-05-03lib/tests: Make sure the submodule type description can be evaluatedSilvan Mosberger2-3/+4
In 2d45a62899d47c109a0b8ce4ca9d33265b8a1a37, the submodule type description was amended with the freeformType description. This causes all the modules passed to the submodule to be evaluated once on their own, without any extra definitions from the config section. This means that the specified modules need to be valid on their own, without any undeclared options. This commit adds a test that evaluates a submodules option description, which would trigger the above problem for one of the tests, if it were not fixed by this commit as well. This is done because the next commit makes option evaluation a bit more strict, which would also trigger this test failure, even though it's not related to the change at all.
2021-05-03lib/types: Introduce mkOptionType occurringTypes argumentSilvan Mosberger1-1/+18
This will be used to issue deprecation warnings recursively in the next commit In addition, this allows easily getting nested types of other options, which is useful when you want to create an option that aliases a part of another one.
2021-05-03Merge pull request #120774 from sternenseemann/shellpackage-fix-checkSilvan Mosberger1-1/+1
lib/types: only accept derivations for shellPackage
2021-05-01lib: fix documented type of fixedWidthString (#121396)Lennart Spitzner1-1/+1
2021-04-28treewide: use lib.warnIf where appropriateAlyssa Ross2-5/+5
2021-04-28lib.trivial.warnIf: initAlyssa Ross2-2/+6
It's a common pattern in Nixpkgs to want to emit a warning in certain cases, but not actually change behaviours. This is often expressed as either if cond then lib.warn "Don't do that thing" x else x Or (if cond then lib.warn "Don't do that thing" else lib.id) x Neither of which really expresses the intent here, because it looks like 'x' is being chosen conditionally. To make this clearer, I introduce a "warnIf" function, which makes it clear that the only thing being affected by the condition is whether the warning is generated, not the value being returned.
2021-04-26lib/types: only accept derivations for shellPackagesternenseemann1-1/+1
Since shellPackage actually requires the value to be an attribute set (i. e. an derivation in this case), we cannot re-use the package.check type checker since it also allows strings or things that are coercible to strings as long as they look like store paths.
2021-04-25Merge branch 'master' into staging-nextJan Tojnar2-4/+6
Choose binwalk 2.3.1, 27 is legacy version for Python 2.
2021-04-24Merge master into staging-nextgithub-actions[bot]1-24/+32
2021-04-23lib.systems.doubles.netbsd: expandAlyssa Ross2-4/+6
These are all the architectures supported by Nixpkgs on other platforms, that are also supported by NetBSD. (So I haven't added any architectures that are new to Nixpkgs here, even though NetBSD supports some that we don't have.)
2021-04-23lib.systems.doubles.all: reorganizeAlyssa Ross1-24/+32
The previous mess was partially grouped by OS, and partially grouped by architecture, which made it very difficult to know where to add new entries. I've chosen to group by OS entirely, because OSes are likely to maintain exhaustive lists of supported architectures, but it's far less likely we'd be able to find exhaustive lists of supported OSes for every architecture.
2021-04-15Merge master into staging-nextgithub-actions[bot]1-2/+1
2021-04-15lib.systems.examples.amd64-netbsd: add warningAlyssa Ross1-2/+1
Otherwise, nobody will know it's deprecated!
2021-04-15Merge master into staging-nextgithub-actions[bot]1-1/+10
2021-04-15lib: Adjust NetBSD example systemsJohn Ericson1-1/+10
Deprecate the odd one so no breaking change.
2021-04-12Merge remote-tracking branch 'upstream/staging-next' into down-integrate-stagingLuke Granger-Brown3-17/+6
2021-04-12Merge pull request #111988 from thefloweringash/darwin-platform-versionsJohn Ericson2-0/+15
Darwin platform versions
2021-04-12Merge pull request #116495 from r-burns/ppc64Sandro3-17/+4
lib/systems: remove powerpc64 elfv1 support
2021-04-11lib.systems: add darwinPlatform where necessaryAndrew Childs1-0/+2
2021-04-11bintools-wrapper, cc-wrapper: parameterize darwin min version variableAndrew Childs1-0/+4
These variables are the ones that the standard toolchain uses, so we should use those and not always use MACOSX_DEPLOYMENT_TARGET. See https://github.com/tpoechtrager/cctools-port/blob/236a426c1205a3bfcf0dbb2e2faf2296f0a100e5/cctools/ld64/src/ld/PlatformSupport.cpp#L54-L55
2021-04-09lib.licenses: add bsdOriginalUC (BSD 4-Clause University of California-Specific)ajs1241-0/+5
2021-04-09systems: add appropriate rustc.config for androidMilan Pässler1-0/+2
Rust doesn't like the `-unknown` vendor component in the target triple.
2021-04-05lib.trivial: fix typo "nixpks" -> "nixpkgs"Alyssa Ross1-1/+1