181 Commits
Author SHA1 Message Date
Aliaksandr 80f12557f5 treewide: replace "yes" else "no" usages to lib.boolToYesNo 2025-10-21 16:04:34 +03:00
NAHO c8d4dabc43 pkgs: remove optional builtins prefixes from prelude functions
Remove optional builtins prefixes from prelude functions by running:

    builtins=(
      abort
      baseNameOf
      break
      derivation
      derivationStrict
      dirOf
      false
      fetchGit
      fetchMercurial
      fetchTarball
      fetchTree
      fromTOML
      import
      isNull
      map
      null
      placeholder
      removeAttrs
      scopedImport
      throw
      toString
      true
    )

    fd \
      --type file \
      . \
      pkgs \
      --exec-batch sed --in-place --regexp-extended "
        s/\<builtins\.($(
          printf '%s\n' "${builtins[@]}" |
            paste --delimiter '|' --serial -
        ))\>/\1/g
      "

    nix fmt
2025-10-04 19:02:37 +02:00
Wolfgang Walther 5a0711127c treewide: run nixfmt 1.0.0 2025-07-24 13:55:40 +02:00
Peder Bergebakken Sundt 5aba99242e treewide: fix typos in comments
Made with

```shell
git restore .
fd '\.nix$' pkgs/ --type f -j1 -x bash -xc "$(cat <<"EOF"
    typos --no-check-filenames --write-changes "$1"
    git diff --exit-code "$1" && exit
    #( git diff "$1" | grep -qE "^\+ +[^# ]") && git restore "$1"
    count1="$( bat --language nix --diff --style changes "$1" --theme "Monokai Extended" --color always | aha --no-header | grep -E '^<span style="color:olive;">~</span> ' | wc -l )"
    count2="$( bat --language nix --diff --style changes "$1" --theme "Monokai Extended" --color always | aha --no-header | grep -E '^<span style="color:olive;">~</span> (<span style="color:#f8f8f2;"> *</span>)?<span style="color:#75715e;">.*</span>$' | wc -l )"
    [[ $count1 -ne $count2 ]] && git restore "$1"
EOF
)" -- {}
```

and filtered with `GIT_DIFF_OPTS='--unified=15' git -c interactive.singleKey=true add --patch`

I initially tried using the tree-sitter cli, python bindings and even ast-grep through various means, but this is what I ended up with.
2025-02-24 10:44:41 +01:00
Silvan Mosberger 84d4f874c2 treewide: format all inactive Nix files
After final improvements to the official formatter implementation,
this commit now performs the first treewide reformat of Nix files using it.
This is part of the implementation of RFC 166.

Only "inactive" files are reformatted, meaning only files that
aren't being touched by any PR with activity in the past 2 months.
This is to avoid conflicts for PRs that might soon be merged.
Later we can do a full treewide reformat to get the rest,
which should not cause as many conflicts.

A CI check has already been running for some time to ensure that new and
already-formatted files are formatted, so the files being reformatted here
should also stay formatted.

This commit was automatically created and can be verified using

    nix-build https://github.com/infinisil/treewide-nixpkgs-reformat-script/archive/a08b3a4d199c6124ac5b36a889d9099b4383463f.tar.gz \
      --argstr baseRev 78e9caf153
    result/bin/apply-formatting $NIXPKGS_PATH
2024-12-10 20:23:58 +01:00
Wolfgang Walther d86588d230 treewide: improve prepending and appending derivation arguments in bash code
Those would be problematic with __structuredAttrs turned on, because
they'd turn those nice bash arrays back into strings - and potentially
lose some of the values on the way.
2024-11-25 09:09:23 +01:00
piegames 68927918d0 treewide: Fix indentation in strings
The indentation stripping semantics of strings are fairly bad and have a
few gotchas where the resulting string has not the intended indentation.
This commit fixes most if not all such instances in Nixpkgs.

I tried to strive a balance between keeping the diff small and
reformatting/refactoring the code to look better. In general,
reformatting should be left to Nixfmt.

Note that this causes a lot of rebuilds by design. All changes need to
be thoroughly vetted and reviewed for correctness. There is no automatic
way to prove correctness.

List of files to fix generated by running
https://gerrit.lix.systems/c/lix/+/2092 on Nixpkgs and looking at the
warnings.
2024-10-22 21:36:42 +02:00
Yueh-Shun Li 758056dac7 treewide: handle postPhases __structuredAttrs-agnostically
Always specify the postPhases attribute as a list instead of a string.

Append elements to the postPhases Bash variable using appendToVar
instead of string or Bash array concatenation.
2024-09-03 05:56:17 +08:00
Yueh-Shun Li 5d42a8b38c treewide: handle preConfigurePhases __structuredAttrs-agnostically
Always specify the preConfigurePhases attribute as a list instead of a
string.

Append elements to the preConfigurePhases Bash variable using
appendToVar instead of string or Bash array concatenation.
2024-09-03 05:33:59 +08:00
Yueh-Shun Li 21c0129841 treewide: handle prePhases __structuredAttrs-agnostically
Always specify the prePhases attribute as a list instead of a string.

Append elements to the prePhases Bash variable using appendToVar
instead of string or Bash array concatenation.
2024-09-03 05:33:59 +08:00
Philip TaronandValentin Gagarin f36441dbd8 Avoid top-level with ...; in pkgs/build-support/release/default.nix 2024-03-19 22:31:19 +01:00
Felix Buehler f20a95a86a build-support/release: deprecate phases 2023-11-25 21:00:17 +01:00
Felix Buehler 099935b624 treewide: use lib.optionalAttrs 2023-07-24 21:59:17 +02:00
Felix BuehlerandAnderson Torres 6672dde558 treewide: use optionalAttrs instead of 'else {}' 2023-06-25 11:01:34 -03:00
Artturin 780669daf5 treewide: don't hardcode /nix/store (no rebuilds changes)
improve experience for other store locations
2023-03-24 20:11:33 +02:00
Felix Buehler cdb39a86e0 treewide: use optionalString 2023-02-13 21:52:34 +01:00
Artturin fe1c7a1945 treewide: remove usages of header and stopNest
they're obsolete
2023-01-16 00:08:12 +02:00
github-actions[bot]andGitHub dc7ebb0163 Merge staging-next into staging 2022-12-18 18:01:41 +00:00
figsoda ec8cb34358 treewide: fix typos 2022-12-17 19:39:44 -05:00
Artturin 238a6053c4 stdenv: support opt-in __structuredAttrs
Co-authored-by: Robin Gloster <mail@glob.in>

stdenv: print message if structuredAttrs is enabled

stdenv: add _append

reduces the chance of a user doing it wrong

fix nix develop issue

output hooks don't work yet in nix develop though

making $outputs be the same on non-structuredAttrs and structuredAttrs
is too much trouble.

lets instead make a function that gets the output names

reading environment file '/nix/store/2x7m69a2sm2kh0r6v0q5s9z1dh41m4xf-xz-5.2.5-env-bin'
nix: src/nix/develop.cc:299: std::string Common::makeRcScript(nix::ref<nix::Store>, const BuildEnvironment&, const Path&): Assertion `outputs != buildEnvironment.vars.end()' failed.

use a function to get all output names instead of using $outputs

copy env functionality from https://github.com/NixOS/nixpkgs/pull/76732/commits
2022-12-08 06:13:19 +02:00
Artturin f4ea1208ec treewide: *Flags convert to list from str
*Flags implies a list

slightly relevant:
> stdenv: start deprecating non-list configureFlags https://github.com/NixOS/nixpkgs/pull/173172

the makeInstalledTests function in `nixos/tests/installed-tests/default.nix` isn't available outside of nixpkgs so
it's not a breaking change
2022-10-10 15:30:59 +03:00
bb010gandDoron Behar a1ed62e586 releaseTools.antBuild: remove
The sole consumer in Nixpkgs of `releaseTools.antBuild` is
`pkgs/development/libraries/junit`, which has been broken since
2015-09-08. The sole consumer in Nixpkgs of `junit` is
`pkgs/development/libraries/junixsocket`, which hasn't built due to
`junit` since 2015-09-08. All three are removed due to their obvious
lack of use.

All other packages in Nixpkgs depending on junit consume
`pkgs/development/java-modules/junit`, which is not broken.

Any downstreams that have kept using these `junit` or `junixsocket`
packages since 2015-09-08 have basically already vendored the packages
via patching them, so no aliases are provided.
2021-10-27 13:21:27 +03:00
Timur Demin 1c9afc5a88 releaseTools.debBuild: fix invocation
Somewhere after #110628, which replaced stdenv.lib with lib, up to
bug #134572, lib got removed from the argument list, breaking any
invocations of debBuild. This adds it back.
2021-10-10 22:08:16 +05:00
Sander van der BurgandSander van der Burg 44704440ef releaseTools: fix nixBuild function
Without this fix, I can no longer build anything with releaseTools.nixBuild {}. A job typically fails with:

$ nix-build release.nix -A build.basic.x86_64-linux --show-trace
error: while evaluating the attribute 'lib' of the derivation 'libnixxml-0.1pre1234' at /home/sander/teststuff/nixpkgs/pkgs/build-support/release/nix-build.nix:89:5:
cannot coerce a set to a string, at /home/sander/teststuff/nixpkgs/pkgs/build-support/release/nix-build.nix:89:5

This is caused by the fact that `lib' is propagated as a parameter, which is a function. Functions cannot be converted to strings.
2021-03-29 21:24:00 +02:00
SandroandGitHub 6cecff003a Merge pull request #112073 from ztzg/x-16304-debbuild-checkinstall 2021-03-21 05:35:45 +01:00
Ben SiraphobandGitHub 127733211e treewide: unzip buildInputs to nativeBuildInputs (#112302) 2021-02-20 16:01:53 -05:00
Ashlynn AndersonandGitHub 56dc6a7f08 releaseTools.debBuild: remove double lib in args
Seems to have been added during some sweeping changes, but breaks calling `releaseTools.debBuild`
2021-02-07 11:00:42 -05:00
Damien Diederen 56124f3e66 debBuild: Fix for "cannot coerce a set to a string"
Nix won't let us turn `lib` into an environment variable.

As discussed here:

  https://github.com/NixOS/nixpkgs/pull/111672#issuecomment-773484089
2021-02-05 21:20:22 +01:00
Damien Diederen 9744abab00 debBuild: Fix "duplicate formal function argument 'lib'"
As discussed here:

  https://github.com/NixOS/nixpkgs/pull/111672#issuecomment-773484089
2021-02-05 21:20:13 +01:00
Ben SiraphobandCole Helbling aa8868c7cc pkgs/build-support: stdenv.lib -> lib 2021-01-24 19:07:54 -08:00
Pavol Rusnak 90f7338112 treewide: stdenv.lib -> lib 2021-01-24 01:49:49 +01:00
Florian Klink 98d6b55fdc nixos/testing: remove remaining coverage-data logic
This isn't used anymore as per
https://github.com/NixOS/nixpkgs/pull/72354#discussion_r451031449.
2020-09-05 16:07:59 +02:00
Benjamin Hipple 79d875ae77 releaseTools: no-op expression cleanup
No functional change, was just reading through these and cleaning/sanitizing
them a bit while I'm here.
2020-03-21 21:15:33 -04:00
volth 08f68313a4 treewide: remove redundant rec 2019-08-28 11:07:32 +00:00
Jörg Thalheim dadc7eb329 treewide: use runtimeShell instead of stdenv.shell whenever possible
Whenever we create scripts that are installed to $out, we must use runtimeShell
in order to get the shell that can be executed on the machine we create the
package for. This is relevant for cross-compiling. The only use case for
stdenv.shell are scripts that are executed as part of the build system.
Usages in checkPhase are borderline however to decrease the likelyhood
of people copying the wrong examples, I decided to use runtimeShell as well.
2019-02-26 14:10:49 +00:00
John Ericson 2c2f1e37d4 reewide: Purge all uses stdenv.system and top-level system
It is deprecated and will be removed after 18.09.
2018-08-30 17:20:32 -04:00
Jan Malakhovski b135329dc5 treewide: random cleanups 2018-08-10 12:56:31 +00:00
James Deikun bd63de114e stdenv/build-support: support .tbz and .txz tarballs 2018-07-30 15:30:16 -04:00
Nikolay Amiantov c55b2fa7cd debBuild: install all packages at once to avoid dependency management 2018-02-19 16:07:40 +03:00
Will Dietz 9721ed22e8 schedulingPriority should be an int, fix check-meta type and in-tree use 2018-01-09 07:25:24 -06:00
Eelco Dolstra 3d5828ebed releaseTools.sourceTarball: Clean up temporary files 2017-11-21 19:45:20 +01:00
Joachim FandGitHub d88f83de6b Merge pull request #17681 from ericsagnes/feat/releaseTools.channel
releaseTools: add channel function
2017-07-02 09:46:17 +01:00
rhtandMichael Raskin 5628cebcf0 /bin/sh -> ${stdenv.shell} 2017-04-30 17:01:07 +02:00
Nikolay AmiantovandGitHub 0a16269198 Revert "releaseTools.debBuild: split checkinstall into separate phase" 2016-12-31 02:13:04 +04:00
Nikolay Amiantov 41fcb036eb releaseTools.debBuild: split checkinstall into separate phase and allow to override them 2016-12-03 11:09:41 +03:00
Eric Sagnes 37f0aafc56 releaseTools: add channel function 2016-09-27 08:51:28 +09:00
Alexey Shmalko bb3fc68b30 antBuild: run default hooks
Fixes https://github.com/NixOS/nixpkgs/issues/10931.
antBuild overrides buildPhase and installPhase without calling default
hooks.
2016-07-26 02:02:42 +03:00
ProfpatschandDomen Kožar 28f8ca560f debian-build: fix checkinstall invocation (#15538)
Checkinstall had two problems:
1. when it was called without a version (e.g. with a derivation created
by fetchFromGitHub) it would use `src` as debian version, which caused
dpkg to fail
2. when dpkg failed, it would invoke the pager with the log, which hangs
the build

So now
1. the default version is the dummy `0.0.0`
2. the used pager is `cat`
2016-05-19 09:41:10 +01:00
Peter Simons 5ff34bac8c build-support/source-tarball.nix: fix syntax highlighting in Emacs 2016-01-26 14:03:06 +01:00
Bjørn Forsman c22435e70d clang-analyzer: align attrname with pkgname 2015-02-20 22:30:51 +01:00