Commit graph

10452 commits

Author SHA1 Message Date
Eelco Dolstra
84de821004
Merge pull request #3069 from matthewbauer/max-name
Set maximum name length in Nix
2019-08-29 15:22:36 +02:00
Eelco Dolstra
8478c99d09
Merge pull request #3048 from toonn/nix-env_doc
Fix nix-env documentation for --delete-generations
2019-08-29 15:22:01 +02:00
Eelco Dolstra
a2c4fcd5e9 Don't rely on st_blocks
It doesn't seem very reliable on ZFS.
2019-08-29 14:49:58 +02:00
Vincent Ambo
9622ed36a1
Merge pull request #1 from tazjin/feat/travis-builds
Add build configuration and various other repo setup chores
2019-08-29 13:10:15 +01:00
Vincent Ambo
565a00254b fix: Bump Nix in CI setup to 2.2.2
Yants does not seem to work with older versions of Nix and I have not
yet figured out why.
2019-08-29 13:06:12 +01:00
toonn
5bdac86be2 Reword to clarify newer generations are left alone
My attempt at clarifying the docs resulted in a false explanation. This
is now fixed and I added an example to eliminate all possible confusion.
2019-08-29 13:56:21 +02:00
Eelco Dolstra
31f5ecfaa5 Maybe fix #3058 2019-08-29 12:35:15 +02:00
Eelco Dolstra
ecb0a23d51 Add some more instrumentation 2019-08-29 12:10:01 +02:00
Eelco Dolstra
f27e53f77e Cleanup 2019-08-29 12:09:58 +02:00
Eelco Dolstra
b6120d26a8
gc-auto.sh: Increase verbosity 2019-08-28 22:19:31 +02:00
Eelco Dolstra
c128031492
Fix macOS build
https://hydra.nixos.org/build/99500938
2019-08-28 22:04:45 +02:00
Eelco Dolstra
7ef2645f45
Merge pull request #2921 from matthewbauer/handle-sigwinch
Handle SIGWINCH in main thread
2019-08-28 21:48:14 +02:00
Matthew Bauer
693e68e09c Set maximum name length in Nix
Previously we allowed any length of name for Nix derivations. This is
bad because different file systems have different max lengths. To make
things predictable, I have picked a max. This was done by trying to
build this derivation:

  derivation {
    name = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
    builder = "/no-such-path";
    system = "x86_64-linux";
  }

Take off one a and it will not lead to file name too long. That ends
up being 212 a’s. An even smaller max could be picked if we want to
support more file systems.

Working backwards, this is why:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-${name}.drv.chroot

> 255 - 32 - 1 - 4 - 7 = 211
2019-08-28 12:32:54 -04:00
Eelco Dolstra
7298a38a07
Don't send certain setting overrides to the daemon
These are already handled separately. This fixes warnings like

  warning: ignoring the user-specified setting 'max-jobs', because it is a restricted setting and you are not a trusted user

when using the -j flag.
2019-08-28 16:29:44 +02:00
Vincent Ambo
f3c66e172c chore: Add contribution & code of conduct information 2019-08-28 15:06:43 +01:00
Vincent Ambo
10a93400f8 chore: Add Apache License 2.0 2019-08-28 15:03:17 +01:00
Vincent Ambo
d53f7f134b docs: Add build status to README 2019-08-28 15:02:39 +01:00
Vincent Ambo
0c1a6b88dd feat: Add Travis CI configuration 2019-08-28 14:55:56 +01:00
Vincent Ambo
6468845255 chore: Change file layout to match repository instead of gist 2019-08-28 14:55:53 +01:00
Vincent Ambo
34a5917981 test: Add test for pattern matching on sum types 2019-08-28 14:37:00 +01:00
Vincent Ambo
cb45536124 test: Add a test to check that all types match the 'type'-type 2019-08-28 14:37:00 +01:00
Vincent Ambo
b622bcef7d feat: Introduce composable type errors and type parameter checking
This refactoring moves the type definitions into a recursively
evaluated attribute set, which makes it possibe to refer to types in
the definitions of other types.

This functionality is used to type-check some of the type parameters
passed in to other types. This is not yet done for all higher-order
types because the evaluation semantics of Nix make it less useful for
some cases.

Further the definition of a type itself is now a stricter
representation that works for all types except typed functions, which
allows for composable error messages.
2019-08-28 14:36:58 +01:00
Vincent Ambo
f6635fec98 feat: Add rough initial version of sum types
Sum types are represented as attribute sets with a single key in them.
2019-08-28 14:36:55 +01:00
Vincent Ambo
ef4ded7b98 docs: Add defun to README 2019-08-28 14:36:50 +01:00
Vincent Ambo
5949663fcd feat: Implement support for typing functions
The defun helper takes a type signature and a function and makes a
typed version. Because we can.
2019-08-28 14:36:47 +01:00
Vincent Ambo
1da22249bd test: Add some simple tests for type-checks
Does not currently test check failures, which makes it sort of not as
useful as you'd think.
2019-08-28 14:36:43 +01:00
Vincent Ambo
08116dbf51 chore: Add Google's copyright header 2019-08-28 14:36:39 +01:00
Vincent Ambo
bc130254bc docs: Update struct screenshot in README 2019-08-28 14:36:36 +01:00
Vincent Ambo
ca0cf11ca9 feat: Improved error message for missing struct fields 2019-08-28 14:36:33 +01:00
Vincent Ambo
4ebc069a3f docs: Add enum screenshot to README 2019-08-28 14:36:29 +01:00
Vincent Ambo
661e09daac feat: Add enum support 2019-08-28 14:36:25 +01:00
Vincent Ambo
2e576e10ab refactor: Gain back a few more lines 2019-08-28 14:36:20 +01:00
Vincent Ambo
2acdbb5009 refactor: Drop back to below 100 lines :) 2019-08-28 14:36:14 +01:00
Vincent Ambo
76f9b1638c feat: Add function type
It's not currently possible to check arguments for curried functions,
but there might be something on the horizon for attribute set
functions.
2019-08-28 14:36:11 +01:00
Vincent Ambo
103e0b4d25 feat: Add derivation type 2019-08-28 14:36:08 +01:00
Vincent Ambo
cb0d07fa30 docs: Fix image links (relative is not supported in gists) 2019-08-28 14:36:00 +01:00
Vincent Ambo
199254ba7a chore: Move screenshots into the gist 2019-08-28 14:35:56 +01:00
Vincent Ambo
040b719570 feat: Support better error messages for list/attrs element checks 2019-08-28 14:35:53 +01:00
Vincent Ambo
fe33a82a07 feat: Initial check-in of type system sketch 2019-08-28 14:35:41 +01:00
Eelco Dolstra
ad03159e25
Merge pull request #2745 from samueldr/install/detect-systemd-separately
install-multi-user: Detect and fail lack of systemd separately
2019-08-28 11:34:23 +02:00
Eelco Dolstra
bd285849ed
Merge pull request #3054 from matthewbauer/nix-dir-macos
Allow empty /nix directory in multi-user installer
2019-08-28 11:29:43 +02:00
Eelco Dolstra
5fa8b3f965 Update the libboost hack
This cuts about 46 MiB from the closure.
2019-08-27 22:38:48 +02:00
Eelco Dolstra
ceefddafe8 Compress binary tarballs using xz
Fixes https://github.com/NixOS/nix/issues/240.

Apparently 'tar -xf' can decompress xz files on macOS nowadays.
2019-08-27 22:18:34 +02:00
Eelco Dolstra
787015fec0 Merge branch 'master' of github.com:NixOS/nix 2019-08-27 21:18:20 +02:00
Eelco Dolstra
fdff96501f Update release notes 2019-08-27 21:18:00 +02:00
Eelco Dolstra
e5b397b2c7 Merge branch 'test-sandboxing' of https://github.com/matthewbauer/nix 2019-08-27 20:58:47 +02:00
Abseil Team
a0d1e098c2 Export of internal Abseil changes
--
f685906f54727cc2d356787af410ef72ddd38bd0 by Derek Mauro <dmauro@google.com>:

On Windows, compile with /bigobj. Some template heavy code requires this.

PiperOrigin-RevId: 265695531

--
ed808812a4f5915d0516cecdc24ef4b90cf8333e by Derek Mauro <dmauro@google.com>:

Fix the btree_test build on Windows+CMake

PiperOrigin-RevId: 265689993

--
c9a8ade28d7537d1dceec19c74edc4b10daf3c91 by Abseil Team <absl-team@google.com>:

Remove unused using ::test::IsEmpty.

PiperOrigin-RevId: 265567080
GitOrigin-RevId: f685906f54727cc2d356787af410ef72ddd38bd0
Change-Id: I12a3c9ef41c1b7c4c5f075a1ad4cedad54e953ac
2019-08-27 13:29:28 -04:00
Eelco Dolstra
177e5742fa
Merge pull request #3056 from grahamc/operators
operators: document exact precedence, split up similar operators
2019-08-27 17:12:36 +02:00
Eelco Dolstra
73728874ab Hopefully fix post-hook test on macOS
https://hydra.nixos.org/build/99262744
2019-08-27 17:01:54 +02:00
Eelco Dolstra
45b3dc325a Add 2.3 release notes 2019-08-27 17:00:04 +02:00