Commit Graph
100 Commits
Author SHA1 Message Date
Robert Hensing f1f8539583 haskellPackages.hercules-ci-agent: Configure unbroken 2020-11-27 20:59:59 +01:00
Robert Hensing 5598ed7480 haskellPackages.hercules-ci-agent: Update Cabal for Setup 2020-11-27 20:59:59 +01:00
Robert Hensing 2cc48d915f haskellPackages.servant-swagger: dontCheck
Tests did not compile.
Message:

test/Servant/SwaggerSpec.hs:44:14: error:
    • No instance for (HasSwagger
                         (Fragment Int :> Servant.Test.ComprehensiveAPI.GET))
        arising from a use of ‘toSwagger’
    • In the expression: toSwagger comprehensiveAPI
      In an equation for ‘_x’: _x = toSwagger comprehensiveAPI
      In the second argument of ‘($)’, namely
        ‘do let _x = toSwagger comprehensiveAPI
            True `shouldBe` True’
   |
44 |     let _x = toSwagger comprehensiveAPI
   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
2020-11-27 20:59:59 +01:00
Robert Hensing c8ae3d870c setup.sh: export XDG_DATA_DIRS for consistency
By exporting it, we always make the new directories available
to subprocesses, regardless of whether the environment
variable existed before `nix-shell` was invoked.
2020-11-25 08:44:04 -08:00
Robert Hensing 84c58abdc4 setup.sh: Only load XDG_DATA_DIRS for executable inputs
This avoids the scenario where strictDeps is off and cross-compiled
XDG_DATA_DIRS content is brought into the environment.

While probably harmless for data like manpages and completion scripts,
this would cause issues when XDG_DATA_DIRS is used to find executables
or plugins. The Qt framework is known to behave like this and might
have run into incompatibilities.
2020-11-25 08:44:04 -08:00
Robert Hensing 0f13cccb95 setup.sh: Support XDG_DATA_DIRS
XDG_DATA_DIRS is to /share as PATH is to /bin.

It was defined as part of the XDG basedir specification.
https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html

While it originated from the X Desktop Group, it is not limited to
the X11 ecosystem, as evidenced by its use in bash-completion.

The removal of ` && -d "$pkg/bin"` is ok, because this optimization is
already performed by `addToSearchPath`.
2020-11-25 08:44:04 -08:00
Robert HensingandEelco Dolstra 4dd5da0ad0 nixUnstable: pre20201102_550e11f -> pre20201118_79aa7d9
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2020-11-20 13:11:05 +01:00
Robert Hensing 739b762e56 Revert "firefox: set build timeout at eight hours"
The default timeout is 10h on Hydra currently, so this timeout
setting is pointless or counterproductive.
This commit seems to have been made in error
https://github.com/NixOS/nixpkgs/pull/96767#issuecomment-724104413

This reverts commit c57fedb14b27292f6433287740e2eec303363ec3.
2020-11-11 18:39:04 +01:00
Robert Hensing 5e1cf83383 Revert "libical: skip timezone tests"
This reverts commit 9c5154b5aa.
2020-11-06 14:48:28 +01:00
Robert Hensing d328ba130b tzdata: Revert to the "fat" "bloated" format
The timezone dumps have switched to a "slim" format since 2020b.
This has broken various packages, including
 - go 1.4 (used for bootstrapping)
 - haskellPackages.tz
 - libical

The "fat" format can still be generated, as this commit shows.
It seems to create files that are *mostly* the slim versions with
some more data attached.
2020-11-06 14:48:28 +01:00
Robert Hensing 7ac71d78a3 ghc8102: Fix whitespace 2020-11-06 11:35:19 +01:00
Robert Hensing 6057cb9786 ghc*: Increase build timeout to 1 day
The default of 10 hours is insufficient for some of the slower
platforms like macOS and aarch64.
2020-11-06 11:07:48 +01:00
Robert Hensing 1a5556867e Merge master into staging 2020-11-04 23:57:57 +01:00
Robert Hensing 6b377f2968 ghc8102Binary*: simplify meta
Not distributing dependencies via hydraPlatforms does not work,
so we keep meta simple.

(cherry picked from commit 4643796794897f2baa3a8015de5a9c9fd416f1ae)
2020-11-04 23:47:38 +01:00
Robert Hensing dda47e489a ghc8102BinaryMinimal: Re-add docs, remove more profiling files
(cherry picked from commit 7bd21d3e2da8b9ae394258cef9f18bf0a8dd2d47)
2020-11-04 23:47:38 +01:00
Robert Hensing 83163b43e4 postgresql: Fix timetz test failure
A recent addition to the test suite turned out to be sensitive to
DST. The main code is ok. Patch only required to make test succeed.

See https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=4a071afbd056282746a5bc9362e87f579a56402d
2020-11-04 09:58:09 +01:00
Robert Hensing f73df04874 haskell.compiler.integer-simple: Exclude ghc8102Binary*
(cherry picked from commit fc1562695bdfe26c38f473e4639ab0a1c349a953)
2020-11-04 09:55:56 +01:00
Robert Hensing f8ad73b9d8 haskell.compiler.ghc8102BinaryMinimal: init
To stay within hydra limit of 2^31 output size on aarch64-linux
2020-11-03 12:01:41 +01:00
Robert Hensing a4019a40b3 lib/sources.nix: Prefer lib for readFile inherit 2020-10-22 13:57:23 +02:00
Robert Hensing fe4a58eec0 lib: Add lib.trace for consistency
This puts it among the trace* family of functions derived from it.
2020-10-22 13:46:48 +02:00
Robert Hensing f8ab5fcd8d lib/modules: Simplify inherits 2020-10-22 13:46:48 +02:00
Robert Hensing 9a4bed1a80 lib: Add lib.isFloat for consistency
Unlike the other three is* functions in lib.trivial, it was only
available as lib.trivial.isFloat
2020-10-22 13:46:48 +02:00
Robert Hensing c9f8f66248 lib/options.nix: Use merge-friendly inherit syntax 2020-10-22 13:46:48 +02:00
Robert Hensing afa6c51f27 lib: Use Nix's static scope checking, fix error message, optimize
Nix can perform static scope checking, but whenever code is inside
a `with` expression, the analysis breaks down, because it can't
know statically what's in the attribute set whose attributes were
brought into scope. In those cases, Nix has to assume that
everything works out.

Except it doesnt. Removing `with` from lib/ revealed an undefined
variable in an error message.

If that doesn't convince you that we're better off without `with`,
I can tell you that this PR results in a 3% evaluation performance
improvement because Nix can look up local variables by index.
This adds up with applications like the module system.

Furthermore, removing `with` makes the binding site of each
variable obvious, which helps with comprehension.
2020-10-22 13:46:47 +02:00
Robert Hensing 5aa2a98dfa lib/types.nix: Use // instead of mergeAttrs 2020-10-22 13:46:47 +02:00
Robert Hensing 4d4682c2b6 lib/options.nix: Use head instead of elemAt _ 0 2020-10-22 13:46:47 +02:00
Robert Hensing de1a1ca073 haskellPackages.optparse-applicative: Fix for compgen error 2020-10-15 09:53:32 +02:00
Robert Hensing 11b0106cf9 dockerTools: add isExe to streamLayeredImage result 2020-10-05 10:48:17 +02:00
Robert Hensing 2d2612a020 nixos/cassandra: Add cfg.extraEnvSh 2020-09-16 17:19:39 +02:00
Robert Hensing 346a1b0ec6 nixos/hercules-ci-agent: init 2020-08-23 20:13:15 +02:00
Robert Hensing 2578557530 nixos/test-instrumentation.nix: Fix evaluation error
Discovered via https://github.com/NixOS/nixpkgs/pull/82743 which
improved option checking, causing an evaluation error that was
hard to understand without running the evaluation manually.
2020-08-16 13:50:53 +02:00
Robert Hensing 8c0459f611 dockerTools: Always set imageTag attribute
The image tag can be specified or generated from the output hash.
Previously, a generated tag could be recovered from the evaluated
image with some string operations.

However, with the introduction of streamLayeredImage, it's not
feasible to compute the generated tag yourself.

With this change, the imageTag attribute is set unconditionally,
for the buildImage, buildLayeredImage, streamLayeredImage functions.
2020-07-11 16:58:25 +02:00
Robert Hensing 7d436b4618 hercules-ci-agent: init at 0.7.2 2020-06-21 13:38:22 +02:00
Robert Hensing 2dd94af186 dockerTools: keep symlinks to nix intact 2020-06-19 10:08:34 +02:00
Robert Hensing caf47063b4 dockerTools: test that tar keeps nix binary symlinks intact 2020-06-19 10:08:34 +02:00
Robert Hensing 4353027d0b haskell/generic-builder.nix: Fix C lib multiple inclusions
Allow the darwin links code to overwrite libs that were already
copied, because C dependencies can occur multiple times.

Solves errors like

    ln: failed to create symbolic link '/nix/store/higpc9xavwcjjzdipz7m9ly03bh7iy2z-hercules-ci-agent-source-0.7.0/lib/links/libboost_context.dylib': File exists
2020-05-15 21:02:08 +02:00
Robert Hensing 9a8d3ca542 hackage2nix: Restore arion-compose 2020-03-27 20:56:53 +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
Robert Hensing 6dab1b50a6 buildLayeredImage: Allow empty store, no paths to add
This is useful when buildLayeredImage is called in a generic way
that should allow simple (base) images to be built, which may not
reference any store paths.
2020-02-28 14:59:04 +01:00
Robert Hensing 43521ac965 nixos/service-runner.nix: Allow quotes in commands + test 2020-02-28 14:26:29 +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
Robert Hensing f074bfe0a0 nixos/ids: Add types to allow overrides on static uids, gids 2019-11-18 09:24:35 +01:00
Robert Hensing d3913c84da arion: init at 0.1.0.0 2019-10-24 12:45:07 +02:00
Robert Hensing 3ca15e5fe1 arion-compose: Enable without tests
This adds me as a maintainer of arion-compose, which provides the
executable for the arion package (#71092).

Note that it has a different name because it was already taken on
Hackage before arion switched to Haskell.
2019-10-18 22:49:17 +02:00
Robert Hensing a96f37db10 Document attrsets.recurseIntoAttrs 2019-09-11 14:55:23 +02:00
Robert Hensing fc64cf65ab top-level: Fix dontRecurseIntoAttrs and include in lib
dontRecurseIntoAttrs was a noop (x: x), causing the expression
dontRecurseIntoAttrs (recurseIntoAttrs a) to have the wrong effect.
2019-09-11 13:12:06 +02:00
Robert Hensing 8935bfb4ac lib: Add recurseIntoAttrs
This makes the function available without having to evaluate the
Nixpkgs fix-point, making it available in a more natural way for
code that deals with multiple Nixpkgs invocations.

Its definition is coupled to Nix rather than Nixpkgs, so it will
feel right at home in lib.
2019-09-11 13:12:06 +02:00
Robert Hensing 9a2180fa0b lib.cleanSourceWith: Allow name to be set, optional filter, doc
This change is API-compatible and hash-compatible with the previous
version.

At first I considered to write a rename function too, but adding
it name to cleanSourceWith was a no-brainer for ease of use. It
turns out that a rename function isn't any more useful than
cleanSourceWith.
To avoid having to write the identity predicate when renaming,
the filter is now optional.

builtins.path is supported since Nix 2.0 which is required by nixpkgs
2019-09-03 10:36:57 +02:00
Robert Hensing b52d80b898 pkgs.nixos: Expose configuration directly
The pkgs.nixos used to only expose system.build, which kind of made
sense in theory, but asking everyone to write modules when to want
to pull something out of a NixOS configuration is just not realistic.
In fact it's very inconvenient when you're trying to debug something.

This adds the config, options and anything that eval-config.nix
produces. Although this introduces the potential for attributes
of eval-config.nix output to shadow system.build, I don't expect
naming collisions to be commonplace, or to remain undetected during
evaluation. Also such an error should be easy to resolve, by explicitly
querying (pkgs.nixos {}).config.system.build.X, or by renaming X
to something other than config, options, extraArgs.
2019-05-25 13:18:19 +02:00
Robert Hensing a45031aa73 ngrok-2: 2.2.8 -> 2.3.18 2019-03-17 23:57:44 +01:00
Robert Hensing 340e21473f vscode-extensions.alanz.vscode-hie-server: init at 0.0.25 2019-03-17 21:01:26 +01:00
Robert Hensing 2864f5a967 vscode-extensions.justusadam.language-haskell: init at 2.5.0 2019-03-17 21:01:23 +01:00
Robert Hensing 859c28dae1 ngrok-2: Use stable channel 2019-03-12 20:35:53 +01:00
Robert Hensing 794750fce2 ngrok-2: Fix URLs and automate 2019-03-12 20:35:50 +01:00
Robert Hensing 055ac8e495 Partially revert 755e824
Reinstates the error message that helps migration of forks.
Same should be done for super *if* it is to be removed.
2019-02-03 18:22:22 +07:00
Robert Hensing db70173627 Revert "nixos/modules/misc/nixpkgs.nix: Use pure Nixpkgs function"
As a workaround for #51025 and
https://github.com/NixOS/nix/issues/1232

This reverts commit 5f894a67f5.
2019-01-15 13:11:09 +01:00
Robert Hensing 4272188364 nixos/lib/eval-config.nix: Add extraModules parameter for opt-in purity 2018-12-10 22:02:57 +01:00
Robert Hensing 296b333709 all-packages.nix: Fix reference to self warning
This reference was added to master while the deprecation PR #51401 was open.
2018-12-05 13:47:45 +00:00
Robert Hensing 22aac3b921 all-packages.nix: Alias self to res, deprecating self
For historical reasons, self was ill-named. This removes its usages
from all-packages.nix and provides a deprecation message for those
who use a patched Nixpkgs.

Some packages seem to depend on the peculiarities of res, as can
be seen by making res into an alias of pkgs (normally "self").
The super variable doesn't have all that is needed.

Therefore the simple fix is not guaranteed to work and as such,
usages of res need to be changed to pkgs or super, case by case.
2018-12-02 19:24:49 +01:00
Robert Hensing 5a8bddf16c pkgs.nixosTest: Emphasize propagation of pkgs 2018-11-13 10:47:17 +01:00
Robert Hensing 3783f2d510 pkgs/test/nixos-functions: Add inline doc 2018-11-13 10:47:17 +01:00
Robert Hensing d82e1528f8 pkgs.nixosTest: format 2018-11-13 10:47:16 +01:00
Robert Hensing 5d594d764e tests: Don't use pkgs.extend. OfBorg will reject it.
The good news is that it worked as expected.
2018-11-13 10:43:05 +01:00
Robert Hensing 933c95c0f4 Add tests for pkgs.nixos and pkgs.nixosTest 2018-11-13 10:43:05 +01:00
Robert Hensing cdca66d7e8 Add pkgs.nixosTest 2018-11-13 10:43:05 +01:00
Robert Hensing b60dccbf4f NixOS: update config.nixpkgs.pkgs documentation 2018-11-10 23:21:21 +01:00
Robert Hensing 2a1c0dde8f haskellPackages: Add shell completions + improve docs
This adds the remaining parts of #42657 on top of #49477, renames the
function to a better name, and improves the docs
2018-11-08 11:28:11 -05:00
Robert Hensing cd80aee989 acsccid: init at 1.1.6 2018-11-08 10:44:50 +00:00
Robert Hensing b682778366 nixos/../nixpkgs.nix: Add assertions to check pkgs' system 2018-11-04 23:09:43 +01:00
Robert Hensing 51c6f51390 Merge remote-tracking branch 'upstream/master' into nixos-nixpkgs-pkgs-use-overlays 2018-11-04 21:33:16 +01:00
Robert Hensing 17e863d017 Remove incorrect sentence from make-channel comment
Besides being incorrect, claims like these tend to stick around
after they become incorrect.
2018-11-04 20:45:49 +01:00
Robert Hensing 5341e145c3 release-notes/19.03: nixpkgs.pkgs and nixpkgs.overlays now combine 2018-11-03 19:48:42 +01:00
Robert Hensing 4aa30166d1 rabbitmq module: Update documentation after proofreading
Thanks @c0bw3b, @lsix!
2018-11-03 19:19:04 +01:00
Robert Hensing 666e0ab1dd pkgs.nixos: Add note about systemd.services.*.runner not being systemd 2018-11-03 19:05:31 +01:00
Robert Hensing c3a7194843 pkgs.nixos: Add example to inline documentation 2018-10-30 15:24:19 +01:00
Robert Hensing 696a8bd2b5 nixpkgs.overlays: Add note about nixpkgs.pkgs' treatment of other options 2018-10-28 02:11:00 +02:00
Robert Hensing 5f894a67f5 nixos/modules/misc/nixpkgs.nix: Use pure Nixpkgs function 2018-10-28 02:09:43 +02:00
Robert Hensing a54a799d59 NixOS: nixpkgs.pkgs: Append overlays when specified 2018-10-27 14:51:54 +02:00
Robert Hensing 889a5c3512 pkgs.appendOverlays: Avoid unnecessary nixpkgs evaluation 2018-10-27 14:00:19 +02:00
Robert Hensing a5c4642ddf doc: Add link from overrides to overlays 2018-10-19 12:25:17 +02:00
Robert Hensing 3c2ae189c2 doc: Improve overrides and overlays documentation 2018-10-18 14:01:06 +02:00
Robert Hensing 9b7654f6ff nixpkgs docs: Point to pkgs.extend, pkgs.appendOverlays and improve override section 2018-10-18 10:48:43 +02:00
Robert Hensing ba8b54fa4a Add Nixpkgs functions for adding overlays ad-hoc
This is something that I have found useful in tests. In practice
I recommend that people call Nixpkgs once for performance and
simplicity. The inline documentation mentions this too.
2018-10-18 10:48:43 +02:00
Robert Hensing 637fcd4c5b pkgs.haskell.lib.packagesFromDirectory: forward compatibility
Add `...` for less painful downgrades in the future
2018-07-06 13:03:56 +02:00
Robert Hensing 02ee6b85fe p4v: update sha256 2018-07-04 10:21:45 +02:00
Robert Hensing fc9ffe790f linux: Enable RT53XX wifi support 2018-06-10 17:55:55 +03:00
Robert Hensing 1441806c27 nixpkgs: add nixos function 2018-04-22 12:34:02 +01:00
Robert Hensing 7f25b26511 linuxPackages_custom: fix missing argument and add test
The required argument 'hostPlatform' was missing from linuxPackages_custom's
call to linuxManualConfig.

In order to prevent this in the future, this commit adds
linuxPackages_custom_tinyconfig_kernel so linuxPackages_custom gets tested.

This also adds linuxConfig, to derivate default linux configurations
via make defconfig, make tinyconfig, etc.

Closes #38034.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-04-07 16:40:25 -05:00
Robert Hensing 30bff42231 linux module handling: support kernels without modules 2018-04-05 17:00:00 +02:00
Robert Hensing a90294afe4 haskell.lib.haskellSrc2nix: add extraCabal2nixOptions 2018-03-09 14:52:34 +01:00
Robert Hensing 209f8b1acd nixos/release*.nix: Clean nixpkgs sources by default
Currently, when building NixOS from a git clone, Nix has to copy
the entire repo at >1GB into the store by default. That is not
necessary and causes a dumping large path message.
If you need the old behaviour for some reason, you will have to
specify it by passing the path to your repo explicitly as the
nixpkgs argument like this:

  --arg nixpkgs '{outPath = ./.; revCount = 56789; shortRev = "gfedcba"; }'
2018-02-09 18:32:26 +00:00
Robert Hensing f2a45a47d4 nixos: Add nixpkgs.pkgs option
This lets the user set pkgs directly, so that it can be injected
externally and be reused among evaluations of NixOS.
2018-01-30 12:57:03 +01:00
Robert Hensing f40ecb29aa Add documentation for haskell-modules/lib.nix 2018-01-12 10:48:03 +01:00
Robert Hensing c5ec8cf523 frog: init at v0.13.7 2017-08-14 12:57:54 +02:00
Robert Hensing fbd3f8698a lvm2: 2.02.140 -> 2.02.173 2017-07-21 16:25:34 +02:00
Robert Hensing 3d48fa72d3 elm-github-install: init at 1.0.1 2017-06-30 10:22:18 +02:00
Robert Hensing 86dc6469ba arelle: init at 2017-06-01 2017-06-22 21:37:15 +02:00
Robert Hensing 90b2d06268 maintainers: add roberth 2017-06-22 21:37:15 +02:00
Robert Hensing 14244d0f33 haskellPackages.tasty-discover: bootstrap itself using an untested build
The tasty-discover test suite depends on tasty-discover in $PATH during
test-suite compilation. Adding an untested build of itself to build
tools fixes the problem, without putting the untested version in
the package set.
2017-05-01 17:28:45 +02:00
Robert Hensing 39af068aba mysql-haskell: dontCheck because check requires running server 2017-03-27 09:34:37 +02:00