Commit Graph

2375 Commits

Author SHA1 Message Date
Emily
aff9979170 lib.fake{Sri => Hash}: fix and rename
The previous hash was too short and caused evaluation-time errors like:

    invalid SRI hash 'sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA='

Additionally, since the fact that this is broken implies that nobody
could have been using it, "SRI" is a bit of a vague and obscure term,
`fakeSriHash` would be somewhat of a mouthful, and the relevant fetcher
parameters are just called `hash`, rename it to `fakeHash`.
2020-05-11 23:11:12 +01:00
Jörg Thalheim
885f65fbff
Merge pull request #86074 from emilazy/refactor-linux-hardened-update-script 2020-05-11 10:40:42 +01:00
Emily
d6fe0a4e2d linux/hardened: move files into directory 2020-05-08 15:49:35 +01:00
Drew Mullen
448d68c511 fix example for foldl 2020-05-08 08:31:27 -04:00
Silvan Mosberger
a89b773984
lib/tests: Allow overriding pkgs independent of lib being tested 2020-04-25 23:40:20 +02:00
Pavol Rusnak
461a252bee
verifast: change license to MIT
It seems verifast was relicensed to MIT in 2016:
b3c1bce76a

As this was the only package using lib.licenses.msrla I dropped it.
2020-04-23 09:59:33 +00:00
Timo Kaufmann
166bf2314a
Merge pull request #81210 from B4dM4n/ausweisapp2
ausweisapp2: init at 1.20.0
2020-04-20 22:07:40 +00:00
Fabian Möller
592e433496
licenses: add EUPL-1.2 2020-04-18 23:30:03 +02:00
Pavol Rusnak
2c45fa52a4
lib/licenses: use https where possible 2020-04-18 23:26:44 +02:00
Pavol Rusnak
fadcfc3ea4
treewide: per RFC45, remove more unquoted URLs 2020-04-18 14:04:37 +02:00
Daiderd Jordan
964700da44
lib/options: fix showOption example 2020-04-14 20:38:31 +02:00
Daiderd Jordan
31a03daa72
Revert "lib/options: Use escapeNixIdentifier for showOption"
This is used in in the manual generation for option identifiers that can
be linked. This, unike what the example describes, doesn't preserve
quotes which is needed for these identifiers to be valid.

This reverts commit 124cccbe3b63122733e02e41e45a383ec48752fd.
2020-04-14 20:34:07 +02:00
Jan Tojnar
c652b64a26
lib/options: Relax showOption quoting
124cccbe3b
broke the build of NixOS manual.

It does not make sense to be as strict as with attributes since we
are not limited by the CLI's inability to handle numbers.
Placeholders should not be quoted either as they are not part of Nix
syntax but a meta-level construct.
2020-04-14 04:49:17 +02:00
Silvan Mosberger
f579564062
lib/maintainer-list: Implement validity checks 2020-04-13 17:28:00 +02:00
Silvan Mosberger
a90d8de242
lib/tests/release.nix: Avoid importing nixpkgs into the store
Improves build time by about a factor of two on my system
2020-04-13 17:27:05 +02:00
Silvan Mosberger
0bc7f3440a
lib/tests/modules.sh: Don't depend on $PWD 2020-04-13 17:27:04 +02:00
Silvan Mosberger
124cccbe3b
lib/options: Use escapeNixIdentifier for showOption 2020-04-13 17:27:04 +02:00
Silvan Mosberger
f9eb3d158a
lib/strings: Introduce escapeNixIdentifier 2020-04-13 17:27:04 +02:00
Michael Reilly
84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
Tony Olagbaiye
d2ba3fba69 lib: add shortcut for fake SRI hash 2020-04-05 01:48:20 +01:00
Silvan Mosberger
f75c11cfdf
Merge pull request #83241 from Infinisil/valid-drv-name
lib/strings: Add `sanitizeDerivationName` function
2020-04-02 05:58:13 +02:00
Konrad Borowski
e69e48a1e4 lib.licenses: Add Unicode License Agreement for Data Files and Software 2020-04-01 13:43:41 +00:00
Silvan Mosberger
4b206ac83b
lib/strings: Add sanitizeDerivationName function 2020-03-30 01:15:30 +02:00
Nathan Smyth
e9bec1adf6
mongodb: 3.4.10 -> 4.0.4
fix: Adding libtool to allow darwin compiles

Libtool seems to be required for mongodb to compile on darwin.

fix: Marking MongoDB as broken on aarch64

fix: Adding libtools to the pkg imports

Update mongodb to 4.0.4
2020-03-26 14:02:48 +01:00
zimbatm
d8f0c5407e
Merge pull request #82929 from zimbatm/nixos-gerrit
nixos gerrit module
2020-03-26 12:47:15 +01:00
zimbatm
10c96e5b60
lib.generators: add toGitINI
This code was taken from the home-manager project.
2020-03-26 09:28:13 +01:00
Emery Hemingway
9f91fa02a6 lib/systems: Add Genode platform definitions
Add platform definitions for 64-bit ARM and x86. This is sufficient for
for building Genode where a toolchain is provided as an overlay.

Toolchain: git+https://git.sr.ht/~ehmry/genodepkgs?rev=14fc773ac9ecd2cbb30cb4612b284eee83d83546
2020-03-24 20:41:21 +05:30
Robert Hensing
1484e1acfe
Merge pull request #83201 from michaelpj/imp/sources-unnamed
cleanSourceWith: don't use baseNameOf
2020-03-24 10:05:32 +01:00
Michael Peyton Jones
07f363fae3
cleanSourceWith: don't use baseNameOf
Currently, not providing `name` to `cleanSourceWith` will use the name
of the imported directory. However, a common case is for this to be the
top level of some repository. In that case, the name will be the name of
the checkout on the current machine, which is not necessarily
reproducible across different settings, and can lead to e.g. cache
misses in CI.

This is documented in the comment on `cleanSourceWith`, but this does
not stop it being a subtle trap for users.

There are different tradeoffs in each case:

1. If `cleanSourceWith` defaults to `"source"`, then we may end up with a
user not knowing what directory a source store path corresponds to.
However, it being called "unnamed" may give them a clue that there is a
way for them to name it, and lead them to the definition of the
function, which has a clear `name` parameter.

2. If `cleanSoureWith` defaults to the directory name, then a user may face
occasional loss of caching, which is hard to notice, and hard to track
down. Tracking it down likely requires use of more advanced tools like
`nix-diff`, and reading the source of a lot of nix code.

I think the downside of the status quo is worse.

This is really another iteration of
https://github.com/NixOS/nix/issues/1305: that led to adding the `name`
argument in the first place, this just makes us use a better default
`name`.
2020-03-23 09:53:07 +00:00
John Ericson
19a0b38cbe
Merge pull request #82882 from obsidiansystems/armv6-embedded
Misc fixes for armv6 bare metal cross
2020-03-19 10:38:22 -04:00
Robert Hensing
9b3515eb95
Merge pull request #82897 from Infinisil/fix-recursive-visible-docs
lib/options: Only recurse into visible sub options
2020-03-19 11:24:57 +01:00
Silvan Mosberger
742e3fc002
lib/tests: Check for nested option-dependent definitions 2020-03-19 03:50:47 +01:00
Silvan Mosberger
9eecf2d057
Revert "lib/modules: Throw better error when definitions assign to an option set"
This reverts commit 15c873b486347e7861c64fb0b5a7852be9fc82e4.

This was causing infinite recursion when depending on nested options
2020-03-19 03:50:15 +01:00
Silvan Mosberger
f195625227
lib/options: Only recurse into visible sub options 2020-03-19 01:13:27 +01:00
John Ericson
7c0d3f6f70 lib: Fix systems test for new armv6l-none 2020-03-18 17:43:11 -04:00
Robert Hensing
5f357b20b3
Merge pull request #82751 from Infinisil/minor-module-improvements
Minor module improvements
2020-03-18 10:06:06 +01:00
Silvan Mosberger
e931de58a2
lib/modules: Fix type checks not being done before merging
Co-Authored-By: Robert Hensing <robert@roberthensing.nl>
2020-03-18 04:38:53 +01:00
Silvan Mosberger
15c873b486
lib/modules: Throw better error when definitions assign to an option set 2020-03-18 04:38:50 +01:00
Robert Hensing
31206e44e1 lib/modules: Test the ability for config to depend on options for compatibility 2020-03-17 20:21:10 +01:00
Silvan Mosberger
dcdd232939
lib/modules: Remove internal _module attribute from config
The _module option is added as an internal option set, and it messes up
the results of module evaluations, requiring people to manually filter
_modules out.

If people depend on this, they can still use config._module from inside
the modules, exposing _module as an explicitly declared user option. Or
alternatively with the _module attribute now returned by evalModules.
2020-03-17 19:19:39 +01:00
Silvan Mosberger
eff447b321
Merge pull request #70157 from teto/lib_kernel
Add lib.kernel
2020-03-12 23:53:42 +01:00
John Ericson
00afca0929 lib: Add armv6l-none to doubles list 2020-03-12 09:56:17 -04:00
Vladimír Čunát
4d543ca048
Merge #81713: lib.callPackages(With): guard against a repeated mistake 2020-03-12 09:41:12 +01:00
Vladimír Čunát
b63f684b3d
lib.callPackages(With): guard against a repeated mistake
For example see the parent commit.
2020-03-12 09:40:15 +01:00
Matthew Bauer
acb24b4cc4 lib/systems: Assume newlib when no kernel and no libc is provided
newlib is the default for most tools when no kernel is provided. Other
exist, but this seems like a safe default.

(cherry picked from commit 8009c2071179ee3490f244b91a49202728efe403)
2020-03-12 02:22:19 -04:00
Jan Tojnar
8515b703cf
Merge pull request #72125 from jtojnar/maintainer-groups
lib: Add lib.maintainer-groups
2020-03-10 21:09:33 +01:00
Silvan Mosberger
575354babf
lib/generators: Add toINI option for duplicate keys 2020-03-10 16:01:04 +01:00
Robert Hensing
99a2910733
Merge pull request #80919 from hercules-ci/modules-add-file-context
lib/modules.nix: Add file context to unmerged values in mergeDefinitions
2020-03-05 23:21:02 +01:00
Robert Hensing
e38a01db5d
Merge pull request #68491 from roberth/fix-dontRecurseIntoAttrs
Fix dontRecurseIntoAttrs + add to lib + doc
2020-03-01 11:05:34 +01:00
Robert Hensing
9c0ab2f26d lib/modules.nix: Add file context to unmerged values in mergeDefinitions
This helps with troubleshooting exceptions in config values, which were hard
to track down for options with many definitions.
The trace will look like:

    error: while evaluating the attribute 'config.foo' at undefined position:
    [...]
    while evaluating the option `foo':
    [...]
    while evaluating definitions from `/home/user/mymod.nix':
    while evaluating 'dischargeProperties' at /home/user/nixpkgs/lib/modules.nix:464:25, called from /home/user/nixpkgs/lib/modules.nix:392:137:
    while evaluating the attribute 'value' at /home/user/nixpkgs/lib/modules.nix:277:44:
    Value error!

where the `/home/user/mymod.nix` module is

    { lib, ... }: {
      options.foo = lib.mkOption {
        type = lib.types.lines;
      };
      config.foo = builtins.throw "Value error!";
    }
2020-02-24 00:15:36 +01:00