Commit graph

131 commits

Author SHA1 Message Date
github-actions[bot]
947012b992
Merge staging-next into staging 2021-06-26 00:09:11 +00:00
Robert Schütz
d6234c2165 Merge branch 'master' into staging-next 2021-06-26 00:33:58 +02:00
Dmitry Kalinkin
53d6abc682
tests.texlive.texdoc: init 2021-06-23 22:18:54 -04:00
deliciouslytyped
a71e906e3a trivial-builders: refactor writeTextFile to be overridable
This fixes #126344, specifically with the goal of enabling overriding the
checkPhase argument. See `design notes` at the end for details.

This allows among other things, enabling bash extension for the `checkPhase`.
Previously using such bash extensions was prohibited by the `writeShellScript`
code because there was no way to enable the extension in the checker.

As an example:

```nix
(writeShellScript "foo" ''
  shopt -s extglob
  echo @(foo|bar)
'').overrideAttrs (old: {
  checkPhase = ''
    # use subshell to preserve outer environment
    (
      export BASHOPTS
      shopt -s extglob
      ${old.checkPhase}
    )
  '';
})
```

This commit also adds tests for this feature to `pkgs/tests/default.nix`,
under `trivial-overriding`. The test code is located at
`pkgs/build-support/trivial-builders/test-overriding.nix`.

Design notes:
-------------

Per discussion with @sternenseemann, the original approach of just wrapping
`writeTextFile` in `makeOverridable` had the issue that combined with `callPackage`
in the following form, would shadow the `.override` attribute of the `writeTextFile`:

```nix
with import <nixpkgs>;
callPackage ({writeShellScript}: writeShellScript "foo" "echo foo")
```

A better approach can be seen in this commit, where `checkPhase` is moved
from an argument of `writeTextFile`, which is substituted into `buildCommand`,
into an `mkDerivation` argument, which is substituted from the environment
and `eval`-ed. (see the source)

This way we can simple use `.overideAttrs` as usual, and this also makes
`checkPhase` a bit more conformant to `mkDerivation` naming, with respect to
phases generally being overridable attrs.

Co-authored-by: sterni <sternenseemann@systemli.org>
Co-authored-by: Naïm Favier <n@monade.li>
2021-06-18 01:39:59 +02:00
github-actions[bot]
f8b7190a42
Merge staging-next into staging 2021-06-10 00:06:44 +00:00
Matthieu Coudron
83f6711464 neovim.tests: added more tests
to check for creation of vi/vim aliases.
These tests also now follow the coding conventions of having tests in
passthru.test .
2021-06-09 21:45:25 +02:00
github-actions[bot]
5b7fbb07b8
Merge staging-next into staging 2021-06-07 18:48:37 +00:00
Matthieu Coudron
4a2cbcfbb4 neovim: add some tests
To test the generated RC is included in the file and that we have the
option not to wrap the RC.

run:
nix-build -A tests.vim
2021-06-07 18:21:21 +02:00
github-actions[bot]
0d024626ff
Merge staging-next into staging 2021-05-29 19:17:41 +00:00
Matthieu Coudron
c73371e04b
neovim: fix neovim.override (#124785)
* neovim: temporary revert to unbreak user configs

Newly introduced "plugins" parameter is disabled until we get a better
testing infrastructure to minimize breaking changes.
2021-05-29 16:36:39 +02:00
github-actions[bot]
5c859b2875
Merge staging-next into staging 2021-05-28 12:48:43 +00:00
Daniël de Kok
1da0b1dbc9
Merge pull request #122158 from danieldk/import-cargo-lock
rustPlatform.buildRustPackage: support direct use of Cargo.lock
2021-05-28 12:07:25 +02:00
Daniël de Kok
d3769e43c3 rustPlatform.importCargoLock: add test cases for importCargoLock 2021-05-28 08:01:28 +02:00
github-actions[bot]
7525d5acd3
Merge staging-next into staging 2021-05-26 18:54:44 +00:00
Matthieu Coudron
4a860879ea wrapNeovimUnstable: accept a wrapRc boolean
additional argument not generated by makeNeovimConfig
If true (the default), appends "-u <customRc>" to the wrapped arguments.
Set to false if you want to control where to save the generated config
(e.g., in ~/.config/init.vim or project/.nvimrc)
2021-05-25 22:41:08 +02:00
Matthieu Coudron
7836469dbe neovimUtils: makeNeovimConfig accepts plugins/customRc
mimics home-manager interface and makes it easier to associate configs with plugins. Added a test as well.
2021-05-25 22:41:08 +02:00
Jörg Thalheim
5551a78578
Merge pull request #123989 from Mic92/static-pie
glibc: allow to build position-independent static executable
2021-05-25 06:32:25 +01:00
Jörg Thalheim
166948d479 cc-wrapper: don't set rpath on static-pie executables 2021-05-23 17:38:17 +00:00
Jonathan Ringer
c227fb4b17
Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
	pkgs/development/tools/rust/cargo-cache/default.nix
	pkgs/development/tools/rust/cargo-embed/default.nix
	pkgs/development/tools/rust/cargo-flash/default.nix
	pkgs/servers/nosql/influxdb2/default.nix
2021-05-17 07:01:38 -07:00
Robert Hensing
cc60f81e69 writeDirectReferencesToFile: init 2021-05-15 17:04:25 +02:00
Daniël de Kok
85f96822a0 treewide: fix cargoSha256/cargoHash
Rust 1.50.0 incorporated a Cargo change (rust-lang/cargo#8937) in
which cargo vendor erroneously changed permissions of vendored
crates. This was fixed in Rust
1.51.0 (rust-lang/cargo#9131). Unfortunately, this means that all
cargoSha256/cargoHashes produced during the Rust 1.50.0 cycle are
potentially broken.

This change updates cargoSha256/cargoHash tree-wide.

Fixes #121994.
2021-05-08 00:36:37 -07:00
Malte Brandy
2a11f1f5cc
Merge branch 'master' into haskell-updates 2021-05-07 15:03:54 +02:00
Dmitry Kalinkin
f674f06ac5
tests.texlive.dvipng: apply recurseIntoAttrs 2021-05-02 19:35:47 -04:00
(cdep)illabout
88d9f2419e
tests.haskell-setBuildTarget: inline haskell package def to avoid IFD 2021-05-02 13:35:14 +09:00
Isaac Shapira
d725ac7942
Add haskell.lib.setBuiltTarget, and support non library compiling of a single target 2021-05-02 13:35:07 +09:00
sternenseemann
1bfa5e1291 tests.haskell.shellFor: use writeText instead of toFile 2021-05-01 22:58:35 +02:00
sternenseemann
9a0dc0fa3e tests.haskell.shellFor: replace database-id-class with linear
Contrary to database-id-class, linear is part of stackage and actively
maintained, so the test is less likely to fail due to version
constraint issues as it is currently.
2021-05-01 22:58:35 +02:00
sternenseemann
10b771c61a tests.haskell*: move into tests.haskell set
This will make it easier to add all haskell related tests to the haskell
hydra jobset without updating a list of tests in two places.
2021-05-01 22:58:35 +02:00
Matthieu Coudron
b3abdc9534
tests.vim: init (moved from vim-utils.nix) (#119467)
* tests.vim: init (moved from vim-utils.nix)

Moved tests from pkgs/misc/vim-plugins/vim-utils.nix to pkgs/test/vim.
Also reduced the amount of generated config:
- Make it possible to have an empty config when configured adequately
- removed default vim config when using native packages, it could be
  source of bugs see linked issues (syntax on overrides vim highlights)

Things to watch out for:
- if you set configure.beforePlugins yourself, you will need to add set nocompatible too not to lose it
- filetype indent plugin on | syn on is not enabled anymore by default for the vim-plug installer: I dont think we should override vim defualts, at least not here since it is shared with neovim. Also sometimes it's enabled before plugins (pathogen etc,) which is not consistent.


you can run the tests via
$ nix-build -A tests.vim
2021-04-21 12:55:05 +02:00
Daniël de Kok
f75286e063 cudatoolkit-{9,9_0,9_1,9_2}: remove
Remove old CUDA toolkits (and corresponding CuDNN versions).

- Not supported by upstream anymore.
- We do not use them in nixpkgs.
- We do not test or actively maintain them.
- Anything but ancient GPUs is supported by newer toolkits.

Fixes #107131.
2021-04-18 11:55:10 +02:00
Dmitry Kalinkin
6829f9e141
texlive.bin.dvipng: refactor gs hardcoding, add a test for it 2021-03-18 20:55:35 -04:00
John Ericson
66447439a0 maintainers-list: obsidian-systems-maintenance
Fix mispelling. That word always breaks me...
2021-03-17 18:45:36 -04:00
John Ericson
a680b02816 tests.cude.cuda-library-samples.cutensor: init at same version as others 2021-03-17 20:15:51 +00:00
John Ericson
c1ced05ec4 tests.cude.cuda-library-samples.{cublas,cusolver}: init at master
Well, strictly speaking, master +
https://github.com/NVIDIA/CUDALibrarySamples/pull/29
2021-03-17 19:10:33 +00:00
John Ericson
23f815f12c tests.cuda.cuda-sample_*: Init at supported CUDA toolkit versions
Since CUDA is unfree, we won't actually use this when testing Nixpkgs
officially. But I want to include this as they are useful for users of
Nixpkgs trying to set up / debug a CUDA environment.
2021-03-17 19:10:33 +00:00
Andrew Childs
93a7e96c87 tests.patch-shebangs: add case for ignoring store paths 2021-02-09 13:07:49 +09:00
Pavol Rusnak
a6ce00c50c
treewide: remove stdenv where not needed 2021-01-25 18:31:47 +01:00
Pavol Rusnak
90f7338112
treewide: stdenv.lib -> lib 2021-01-24 01:49:49 +01:00
Jörg Thalheim
61bbbcd1af
bintools-wrapper: skip dynamic linker for static binaries 2020-12-27 16:42:11 +01:00
Vladimír Čunát
363175cd99
Revert "bintools-wrapper: skip dynamic linker for static binaries"
This reverts commit ccfd26ef14.

These toolchain changes are too problematic, so reverting for now; see
https://github.com/NixOS/nixpkgs/pull/107086#issuecomment-749196366
2020-12-21 22:27:48 +01:00
github-actions[bot]
d491b49037
Merge master into staging-next 2020-12-20 00:43:57 +00:00
John Ericson
5d2a20c93a buildRustCrateTests: Move to tests.buildRustCrate
I think it is preferable to separate the tests from the "real" packages.
2020-12-19 18:56:06 +00:00
Jörg Thalheim
b39dd890ac
tests.cc-wrapper: disable static compilation macOS
macOS does not support this
2020-12-14 20:53:00 +01:00
Jörg Thalheim
ccfd26ef14 bintools-wrapper: skip dynamic linker for static binaries
Currently we set dynamic-linker unconditionally. This breaks
however some static binaries i.e. rust binaries linked against musl.
There is no reason we should set an elf interpreter for static binaries
hence this is skipped if `-static` or `-static-pie` is either passed to
our cc or ld wrapper.
2020-12-14 15:42:54 +00:00
John Ericson
b7650aaa77 rust: Clean up target configs and test some more
See the new docs for details. The difference is vis-a-vis older versions
of this PR, not master.
2020-11-28 19:36:28 +00:00
John Ericson
8ddf5c6907 Merge remote-tracking branch 'upstream/master' into aj-rust-custom-target 2020-11-28 18:10:38 +00:00
Joe Hermaszewski
7673eda11d haskell: Add documentationTarball to lib 2020-11-13 21:37:56 +01:00
Vladimír Čunát
89023c38fc
Recover the complicated situation after my bad merge
I made a mistake merge.  Reverting it in c778945806 undid the state
on master, but now I realize it crippled the git merge mechanism.
As the merge contained a mix of commits from `master..staging-next`
and other commits from `staging-next..staging`, it got the
`staging-next` branch into a state that was difficult to recover.

I reconstructed the "desired" state of staging-next tree by:
 - checking out the last commit of the problematic range: 4effe769e2
 - `git rebase -i --preserve-merges a8a018ddc0` - dropping the mistaken
   merge commit and its revert from that range (while keeping
   reapplication from 4effe769e2)
 - merging the last unaffected staging-next commit (803ca85c20)
 - fortunately no other commits have been pushed to staging-next yet
 - applying a diff on staging-next to get it into that state
2020-10-26 09:01:04 +01:00
Vladimír Čunát
c778945806
Revert "Merge #101508: libraw: 0.20.0 -> 0.20.2"
I'm sorry; I didn't notice it contained staging commits.

This reverts commit 17f5305b6c, reversing
changes made to a8a018ddc0.
2020-10-25 09:41:51 +01:00
Aaron Janse
29cdd8ae60 fix whitespace 2020-10-17 14:38:36 -07:00