Commit Graph

509 Commits

Author SHA1 Message Date
Silvan Mosberger
3d60440799 tests.nixpkgs-check-by-name: Remove error writer 2023-10-24 01:18:13 +02:00
Silvan Mosberger
e58bc75444 tests.nixpkgs-check-by-name: Remove Nixpkgs struct
Isn't necessary anymore with the refactoring
2023-10-24 01:18:13 +02:00
Silvan Mosberger
d65f3ddb89 tests.nixpkgs-check-by-name: Make reference check part of structural check 2023-10-24 01:18:13 +02:00
Silvan Mosberger
0475238ec0 tests.nixpkgs-check-by-name: Make structural check a global function 2023-10-24 01:18:12 +02:00
Silvan Mosberger
83b887504c tests.nixpkgs-check-by-name: Support for combining check results 2023-10-24 01:18:09 +02:00
Silvan Mosberger
bb89ca72df tests.nixpkgs-check-by-name: Refactor 2023-10-24 01:15:58 +02:00
Silvan Mosberger
571eaed155 tests.nixpkgs-check-by-name: Intermediate ShardNonDir error 2023-10-24 01:15:58 +02:00
Silvan Mosberger
b7ace0198c tests.nixpkgs-check-by-name: Intermediate InvalidShardName error 2023-10-24 01:15:58 +02:00
Silvan Mosberger
143e267ad2 tests.nixpkgs-check-by-name: Intermediate PackageNonDir error 2023-10-24 01:15:58 +02:00
Silvan Mosberger
935f82267a tests.nixpkgs-check-by-name: Intermediate CaseSensitiveDuplicate error 2023-10-24 01:15:58 +02:00
Silvan Mosberger
e7d9cc96ed tests.nixpkgs-check-by-name: Intermediate InvalidPackageName error 2023-10-24 01:15:57 +02:00
Silvan Mosberger
b011d53bda tests.nixpkgs-check-by-name: Intermediate IncorrectShard error 2023-10-24 01:15:57 +02:00
Silvan Mosberger
64f5eb616e tests.nixpkgs-check-by-name: Intermediate PackageNixNonExistent error 2023-10-24 01:15:57 +02:00
Silvan Mosberger
e3979d14cd tests.nixpkgs-check-by-name: Intermediate PackageNixDir error 2023-10-24 01:15:57 +02:00
Silvan Mosberger
4f17b9367d tests.nixpkgs-check-by-name: Intermediate UndefinedAttr error 2023-10-24 01:15:57 +02:00
Silvan Mosberger
b688da8189 tests.nixpkgs-check-by-name: Intermediate WrongCallPackage error 2023-10-24 01:15:57 +02:00
Silvan Mosberger
9a0ef88623 tests.nixpkgs-check-by-name: Intermediate NonDerivation error 2023-10-24 01:15:57 +02:00
Silvan Mosberger
4897b63ae6 tests.nixpkgs-check-by-name: Intermediate Symlink errors 2023-10-24 01:15:57 +02:00
Silvan Mosberger
9a3abc4383 tests.nixpkgs-check-by-name: Intermediate CouldNotParseNix error 2023-10-24 01:15:57 +02:00
Silvan Mosberger
96f6a350fa tests.nixpkgs-check-by-name: Intermediate PathInterpolation error 2023-10-24 01:15:56 +02:00
Silvan Mosberger
a755aa7d02 tests.nixpkgs-check-by-name: Intermediate SearchPath error 2023-10-24 01:15:56 +02:00
Silvan Mosberger
ed56d74c08 tests.nixpkgs-check-by-name: Intermediate path reference errors 2023-10-24 01:15:56 +02:00
Silvan Mosberger
37f8f6681c tests.nixpkgs-check-by-name: Intermediate error type refactoring prep
Currently the tool prints problems right as it is checking the code
without an intermediate error representation. However for various reasons
it would be beneficial to have an intermediate error type:
- It makes the code cleaner, having all errors in one place
- It allows printing the error in different ways, e.g. for a future
  --json mode

This commit prepares for an incremental refactoring for an intermediate
error/problem representation. Most notable is that we want to be able to collect
multiple errors/problems and not just exit on the first one.

We introduce the type alias CheckResult and CheckError (later renamed to
NixpkgsProblem), where CheckError allows collecting multiple
CheckErrors using the utility function flatten_check_results (later
renamed to check_result::sequence)

The write_check_result function is only temporarily introduced to help
refactoring, it's removed again in later commits.
2023-10-24 01:11:57 +02:00
Vincenzo Mantova
7620b617e5 texlive: implement __overrideTeXConfig and withPackage
Implement new 'buildTeXEnv' to leverage multi-output packages and provide
__overrideTeXConfig/withPackages for modifying the configuration or adding
packages. The override mechanism is prefixed until stabilized.
2023-10-22 19:39:19 +01:00
github-actions[bot]
0fa884ae1f
Merge staging-next into staging 2023-10-22 06:01:35 +00:00
Martin Weinelt
8dfad60324
Merge pull request #257792 from NixOS/staging-next
staging-next 2023-09-28
2023-10-22 02:42:33 +02:00
github-actions[bot]
03248bf8af
Merge master into haskell-updates 2023-10-19 00:12:13 +00:00
github-actions[bot]
c12ce83e4e
Merge staging-next into staging 2023-10-18 18:01:38 +00:00
github-actions[bot]
de8dd334ab
Merge master into staging-next 2023-10-18 18:01:05 +00:00
matthewcroughan
b289b43bf8 fetchFromBittorrent: init
Adds a basic FOD Fetcher for Bittorrent that uses Transmission as a client

Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-10-18 14:07:42 +01:00
github-actions[bot]
49523dec15
Merge staging-next into staging 2023-10-13 06:01:45 +00:00
github-actions[bot]
55a0671553
Merge master into haskell-updates 2023-10-13 00:12:19 +00:00
github-actions[bot]
58485aaddb
Merge master into staging-next 2023-10-13 00:02:24 +00:00
Silvan Mosberger
d3bf6133e8 tests.nixpkgs-check-by-name: Disallow empty all-packages.nix overrides
Only enabled with `--version v1`
2023-10-12 02:28:34 +02:00
Silvan Mosberger
23541bed72 tests.nixpkgs-check-by-name: Introduce --version 2023-10-12 02:28:09 +02:00
Silvan Mosberger
fcaa408d00 tests.nixpkgs-check-by-name: auto-calling differentiation
Allows detecting whether attributes are overridden in all-packages.nix.
In a future commit we'll use this to detect empty arguments being set in
all-packages.nix and complain about that.
2023-10-12 02:27:55 +02:00
Silvan Mosberger
f394f738fa tests.nixpkgs-check-by-name: Improve an error message 2023-10-12 02:27:13 +02:00
Silvan Mosberger
26cec0dbe3 tests.nixpkgs-check-by-name: Add custom argument test 2023-10-12 02:27:05 +02:00
Silvan Mosberger
6710bc250a tests.nixpkgs-check-by-name: Minor refactor
Allows a smaller diff for future changes
2023-10-12 02:27:02 +02:00
Silvan Mosberger
21d520fbf2 tests.nixpkgs-check-by-name: Minor Nix refactor 2023-10-12 02:24:54 +02:00
github-actions[bot]
5e07b9a951
Merge master into haskell-updates 2023-10-11 00:12:13 +00:00
github-actions[bot]
2e97a3af0d
Merge staging-next into staging 2023-10-11 00:02:39 +00:00
Fabián Heredia Montiel
d676e059d7 Merge remote-tracking branch 'origin/master' into staging-next 2023-10-10 15:07:12 -06:00
Madoura
12e7fc6923
llvmPackages_rocm -> rocmPackages.llvm 2023-10-09 16:38:51 -05:00
Dennis Gosnell
36bb7be495
tests.haskell.upstreamStackHpackVersion: update breakfor stack-2.13.1
The tarball that contains the statically-linked stack package has
changed paths.

See the release notes for more details:
https://github.com/commercialhaskell/stack/releases/tag/v2.13.1
2023-10-08 12:23:10 +09:00
Vincenzo Mantova
988124cf20 tests.texlive.shebangs: use new texlive package source 2023-10-07 18:49:18 +01:00
Vincenzo Mantova
361364aba0 tests.texlive.binaries: use new texlive package source 2023-10-07 18:49:18 +01:00
Vincenzo Mantova
333a351b28 texlive.buildTeXLivePackage: switch to fake multi-output derivations for TeX Live packages 2023-10-07 18:49:17 +01:00
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
github-actions[bot]
2e936d668c
Merge master into staging-next 2023-08-17 06:00:58 +00:00
Adam Joseph
360dc254fe tests.cross.sanity: add armv5tel and armv6l 2023-08-15 19:11:09 -07:00