Commit Graph

411 Commits

Author SHA1 Message Date
Maximilian Bosch
8bc5104a6e
treewide: refactor .attrs.sh detection
When specifying the `builder` attribute in `stdenv.mkDerivation`, this
will be effectively transformed into

    builtins.derivation {
      builder = stdenv.shell;
      args = [ "-e" builder ];
    }

This also means that `default-builder.sh` is never sourced and as a
result it's not guaranteed that `$NIX_ATTRS_SH_FILE` is set to a correct
location[1].

Also, we need to source `.attrs.sh` to source `$stdenv`. So, the
following is done now:

* If `$NIX_ATTRS_SH_FILE` points to a correct location, then use it.
  Directly using `.attrs.sh` is problematic for `nix-shell(1)` usage
  (see previous commit for more context), so prefer the environment
  variable if possible.

* Otherwise, if `.attrs.sh` exists, then use it. See [1] for when this
  can happen.

* If neither applies, it can be assumed that `__structuredAttrs` is
  turned off and thus nothing needs to be done.

[1] It's possible that it doesn't exist at all - in case of Nix 2.3 or
    it can point to a wrong location on older Nix versions with a bug in
    `__structuredAttrs`.
2023-10-04 18:36:57 +02:00
github-actions[bot]
b7f2311d92
Merge staging-next into staging 2023-09-27 18:01:33 +00:00
Matthieu Coudron
0ab2c96429 vimUtils: buildVimPluginFrom2Nix renamed to buildVimPlugin
the `from2Nix` suffix is a legacy from vim2nix but we dont use that anymore. It makes the name of the function unusual and long.
2023-09-27 19:08:38 +02:00
github-actions[bot]
035c6df194
Merge staging-next into staging 2023-09-24 00:03:26 +00:00
Silvan Mosberger
85d77bc124
Merge pull request #256913 from xfix/make-nixpkgs-check-by-name-tests-thread-safe
tests.nixpkgs-check-by-name: Make tests thread safe
2023-09-23 23:31:49 +02:00
Konrad Borowski
9efc0c0991 tests.nixpkgs-check-by-name: make tests thread safe
This uses a mutex to make sure that functions that read environment
don't read incorrect values.
2023-09-23 21:24:44 +02:00
figsoda
6728e7a9ca tests.nixpkgs-check-by-name: remove unused dependency
looks like we are not using rowan directly
2023-09-23 10:12:21 -04:00
github-actions[bot]
0de27a8a5a
Merge staging-next into staging 2023-09-23 12:01:36 +00:00
Silvan Mosberger
1fe58cb050 tests.nixpkgs-check-by-name: Fix non-reproducible test failures
This was an oversight in https://github.com/NixOS/nixpkgs/pull/254435
2023-09-23 00:09:26 +02:00
Artturi
6096abb008
Merge pull request #255208 from rhendric/rhendric/make-binary-wrapper 2023-09-20 09:41:44 +03:00
Ryan Hendrickson
df8b425f89 makeBinaryWrapper: protect wildcards in flags 2023-09-18 02:49:33 -04:00
Artturin
42f3292616 tests.cc-wrapper.supported: add test for cxxabi header
`#include <cxxabi.h>`

`/nix/store/02wpjmp2zjjxz13z7g599mniwi25zkcy-libcxxabi-16.0.6-dev/include/cxxabi.h:20:10: fatal error: '__cxxabi_config.h' file not found`
2023-09-18 06:43:36 +05:30
Artturin
57040cc3eb tests.makeBinaryWrapper: fix cross test on aarch64-linux 2023-09-15 08:48:31 +03:00
Robert Hensing
04311ac3fa
Merge pull request #254763 from tie/nixpkgs-systems-equals
pkgs/top-level: use lib.systems.equals for crossSystem
2023-09-13 12:04:45 +02:00
Ivan Trubach
d4063e0330 pkgs/top-level: use lib.systems.equals for crossSystem
Fixes otherwise equivalent systems being treated as different by
packages that compare `stdenv.*Platform`s using `==` operator.
2023-09-13 07:22:52 +03:00
Silvan Mosberger
9c9a7e0082 tests.nixpkgs-check-by-name: Fix with parallel tests
We seem to have enough tests to run into this now:

    error: creating symlink from '/private/tmp/nix-build-nixpkgs-check-by-name.drv-0/source/test-tmp/var/nix/gcroots/profiles' to '/private/tmp/nix-build-nixpkgs-check-by-name.drv-0/source/test-tmp/var/nix/profiles': File exists
2023-09-12 01:07:47 +02:00
Silvan Mosberger
d518eb94ee tests.nixpkgs-check-by-name: Fix for symlinked tempdirs
On Darwin, /tmp is sometimes a symlink to /private/tmp, which couldn't
be handled before:

    error: access to canonical path '/private/var/folders/xp/9_ry6h9x6l9gh_g32qspz0_40000gp/T/.tmpFbcNO0' is forbidden in restricted mode

This both fixes that and adds a test to make sure it can't happen again
2023-09-12 01:07:44 +02:00
Rahul Butani
0251e2645a llvmPackages_15.libcxx: fix the generated linker script
See:
 - https://github.com/NixOS/nixpkgs/issues/214524#issuecomment-1429146432
 - 57c7bb3ec8
 - https://reviews.llvm.org/D133566

We can drop this patch in `llvmPackages_16`.

Fixes #214524.
2023-09-08 05:41:29 +03:00
Artturin
2d15039387 tests.cc-wrapper: add supported and move tests to subsets
filter out llvmPackages <=10 on aarch64-darwin, they're marked broken
and availableOn doesn't filter broken packages
2023-09-08 03:20:52 +03:00
Artturin
bcd62ff9eb Revert "tests.cc-wrapper: filter unavailable gcc"
This reverts commit d33a309f2c9f85c28cb897e623503f210057a77a.

commit caused ofborg-eval to fail with

```
$ nix-build pkgs/top-level/release.nix -A tests.cc-wrapper.gcc10Stdenv.aarch64-darwin
       error: evaluation aborted with the following error message: 'cannot find attribute `tests.cc-wrapper.gcc10Stdenv''
```

on the 3 other platfomrs the attr is there
2023-09-07 22:36:16 +03:00
Artturin
e0898be1c5 tests.cc-wrapper: filter unavailable gcc 2023-09-07 22:36:16 +03:00
Artturin
686516e0bc tests.cc-wrapper: filter out *MultiStdenv when not on and not building for linux and x86_64
they're only supported on x86_64-linux
2023-09-07 22:36:16 +03:00
Artturin
535447e289 tests.cc-wrapper: show command output on different line
this is much easier to read.
2023-09-07 22:36:16 +03:00
Artturin
1b6c3aed63 tests.cc-wrapper: show more prominently what cc is being tested
Show what libc is used, otherwise there's indication what libc is being
used. Ex in gccMultiStdenv.
2023-09-07 22:36:15 +03:00
Rahul Butani
626c8c3224 tests.cc-wrapper: rework the logic, test newer gcc stdenvs too
ignore `llvmPackages_latest`, it's an alias and it'll be a duplicate.
ignore `llvmPackages_git`, it's not supposed to be used in nixpkgs and
may be broken.
2023-09-07 22:36:07 +03:00
Rahul Butani
8b4f80741c tests.cc-wrapper-*: extend to `llvmPackages_{10,11,12,13,14,15,git} 2023-09-07 03:46:38 +03:00
Silvan Mosberger
ad61076624
Merge pull request #237439 from tweag/spp-1
[RFC 140] Simple package paths, part 1b: Enabling the directory structure
2023-09-05 16:25:27 +02:00
Silvan Mosberger
f6467c3574 pkgs/by-name: Introduce
This introduces the `pkgs/by-name` directory as proposed by RFC 140.
Included are:
- The implementation to add packages defined in that directory to the
  top-level package scope
- Contributer documentation on how to add packages to it
- A GitHub Actions workflow to check the structure of it on all PRs
2023-09-05 16:10:50 +02:00
Dmitry Kalinkin
ac3d200056
Merge pull request #252012 from xworld21/texlive-split-core
texlive: split outputs & spring cleaning
2023-09-02 22:22:19 -04:00
Robert Scott
e0f6367446 cc-wrapper, binutils-wrapper: add tests hardening-flags-handling
most tests use debian-devscripts' hardening-check, so only work on
ELF systems and can only detect a limited subset of flags.

some extra tests actually execute fortify-protected programs and
should be slightly more universally applicable.
2023-09-02 15:01:54 +01:00
Maciej Krüger
edfb18664a
Merge pull request #252225 from nbraud/fetchDebianPatch 2023-08-30 19:06:32 +02:00
nicoo
e4162c9e7b fetchDebianPatch: add test 2023-08-30 07:55:07 +00:00
Silvan Mosberger
d42ae665dc tests.nixpkgs-check-by-name: Cleaner testing
- Better filesystem case-sensitivity heuristic
  We shouldn't assume that Linux is always case-sensitive.
- Don't include case-sensitive filename in tree
  Was used for tests, but this broke channel updates because there's a
  check to make sure there's no case-sensitive files!

  https://hydra.nixos.org/build/233371356/nixlog/1
2023-08-29 23:36:47 +02:00
Vincenzo Mantova
e2e33e611c texlive.bin.core-big: enable upmendex 2023-08-29 16:16:15 +01:00
Silvan Mosberger
f616ad76f0
Merge pull request #250885 from tweag/spp-1a
[RFC 140] Simple package paths, part 1a: Checking tool
2023-08-29 16:36:26 +02:00
Silvan Mosberger
34c8b0a8e5 nixos/release-combined.nix: Build pkgs/by-name tester 2023-08-29 16:35:07 +02:00
Silvan Mosberger
271eb02995 pkgs/test/nixpkgs-check-by-name: init
Adds an internal CLI tool to verify Nixpkgs to conform to RFC 140.
See pkgs/test/nixpkgs-check-by-name/README.md for more information.
2023-08-29 16:17:54 +02:00
Dmitry Kalinkin
f32acbc17a
Merge pull request #248960 from xworld21/texlive-tests
tests.texlive: several new tests
2023-08-26 17:56:39 -04:00
Vincenzo Mantova
4e49e4928d
tests.texlive.fixedHashes: init (#248746)
The assertion that all TeX Live packages have a fixed hash is time
consuming and should only be checked when running tests.
2023-08-26 17:12:41 -04:00
Vincenzo Mantova
89da73e92e tests.texlive.opentype-fonts: use scheme-small 2023-08-26 13:37:30 +01:00
Vincenzo Mantova
996a94d959 tests.texlive.opentype-fonts: use mkTeXTest 2023-08-26 13:37:30 +01:00
Vincenzo Mantova
898681161a tests.texlive.allLanguages: init 2023-08-26 13:37:30 +01:00
Vincenzo Mantova
3096052a54 tests.texlive.defaultLanguage: init 2023-08-26 13:37:30 +01:00
Vincenzo Mantova
1ff046e333 tests.texlive.mkTeXTest: init 2023-08-26 13:37:30 +01:00
Vincenzo Mantova
6b5011d9d3
tests.texlive.binaries: fix test for xpdfopen binaries (#250635) 2023-08-23 15:18:32 -04:00
Vincenzo Mantova
e134c208ae
texlive.bin.xetex: add teckit_compile to output (#250390) 2023-08-21 10:20:14 -04:00
github-actions[bot]
f6a4c6f912
Merge master into staging-next 2023-08-20 00:02:29 +00:00
Vincenzo Mantova
5be52ab757 texlive.tlshell: hardcode revision numbers missing from minimal texlive.tlpdb 2023-08-19 21:30:07 +01:00
github-actions[bot]
3b76a64c44
Merge master into staging-next 2023-08-17 12:01:23 +00:00
sternenseemann
232a372e29 Merge remote-tracking branch 'origin/master' into haskell-updates 2023-08-17 09:32:14 +02:00