Commit Graph

13 Commits

Author SHA1 Message Date
Farid Zakaria
536da04b81 b4: expose misc/ source tree via passthru.src-misc
b4 ships editor helpers (Vim/Emacs syntax highlighting for the `b4
review` reply editor) and an `agent-reviewer.md` prompt under `misc/` in
its source tree, but these files are absent from the PyPI sdist the
package is built from. Fetch the matching git tag and expose it as
`passthru.src-misc` so downstream consumers (starting with the
`b4-review-vim` plugin) can reuse it instead of each fetching the
repository themselves. Pinning `rev` to `v${version}` keeps it in sync
with the packaged version.

Assisted-by: Claude Code (Claude Opus 4.8)
2026-07-22 17:24:31 -07:00
Alyssa Ross
6b3fb3b76b b4: 0.15.1 -> 0.15.2 (#509897) 2026-04-15 15:54:47 +00:00
R. Ryantm
cffa3daf9f b4: 0.15.1 -> 0.15.2 2026-04-14 11:11:50 +00:00
Brendan Jackman
bd587cfeec b4: Add 'textual' library
The new (experimental) TUI-based patch review workflow has this
additional dependency.

https://b4.docs.kernel.org/en/latest/maintainer/review.html#review-tui-based-patch-review-workflow-alpha

Note that for the pip packaging this is an optional dependency, if you
run b4 without it the rest of the functionality will work and when you
run `b4 review tui` it prints:

```
The TUI requires the textual library.
Install it with: pip install b4[tui]
```

So this could potentially be implemented as a separate package called `b4-tui`,
but I don't really see much benefit to that.



<LeftMouse>
2026-04-13 16:14:24 +00:00
R. Ryantm
fec664e583 b4: 0.15.0 -> 0.15.1 2026-03-29 00:47:40 +00:00
Gary Guo
d3c223b3e8 b4: 0.14.3 -> 0.15.0 2026-03-24 14:52:02 +00:00
quantenzitrone
bbb0cc8924 b43-fwcutter: refactor and rename from b43FirmwareCutter
b43-fwcutter is the upstream package name.
It also happens to not break the no uppercase package naming rule.
2026-02-10 16:50:41 +01:00
quantenzitrone
18dc8a95fb various: switch buildPythonApplication packages to use finalAttrs
this shouldn't create any rebuilds

the following script was used to generate this:
```fish
#!/usr/bin/env fish

# nix shell .#nixfmt nixpkgs#{nixf-diagnose,ripgrep,sd}

set base (git rev-parse HEAD)

set scope pkgs/by-name
set builder buildPythonApplication

set files (rg --files-with-matches -F "$builder rec {" $scope | sort -u)

for file in $files
    echo $file
    sd -F "$builder rec {" "$builder (finalAttrs: {" $file
    # version
    sd -F 'version}' 'finalAttrs.version}' $file
    sd -F '${version' '${finalAttrs.version' $file
    sd -F '= version' '= finalAttrs.version' $file
    sd -F 'inherit version;' 'inherit (finalAttrs) version;' $file
    sd -F ' + version;' ' + finalAttrs.version;' $file
    sd 'replaceStrings (.*) version' 'replaceStrings $1 finalAttrs.version' $file
    sd -F 'splitVersion version' 'splitVersion finalAttrs.version' $file
    sd -F 'versionAtLeast version' 'versionAtLeast finalAttrs.version' $file
    sd 'versions\.([a-z]+) version' 'versions.$1 finalAttrs.version' $file
    # src
    sd -F 'src}' 'finalAttrs.src}' $file
    sd -F '${src' '${finalAttrs.src' $file
    sd -F '= src' '= finalAttrs.src' $file
    sd -F 'inherit src;' 'inherit (finalAttrs) src;' $file
    sd -F 'inherit (src' 'inherit (finalAttrs.src' $file
    # meta
    sd -F '${meta' '${finalAttrs.meta' $file
    sd -F '= meta' '= finalAttrs.meta' $file
    sd -F 'inherit (meta' 'inherit (finalAttrs.meta' $file
    # pname (restored afterwards)
    sd -F 'pname}' 'finalAttrs.pname}' $file
    sd -F '${pname' '${finalAttrs.pname' $file
    sd -F '= pname' '= finalAttrs.pname' $file
    # combinations
    sd -F 'inherit version src;' 'inherit (finalAttrs) version src;' $file
    sd -F 'inherit src version;' 'inherit (finalAttrs) src version;' $file
    sd -F 'inherit version pname;' 'inherit (finalAttrs) version pname;' $file
    sd -F 'inherit pname version;' 'inherit (finalAttrs) pname version;' $file
    sd -F 'inherit pname src version;' 'inherit (finalAttrs) pname src version;' $file
    sd -F 'inherit pname version src;' 'inherit (finalAttrs) pname version src;' $file
    sd -F 'inherit src pname version;' 'inherit (finalAttrs) src pname version;' $file
    sd -F 'inherit src version pname;' 'inherit (finalAttrs) src version pname;' $file
    sd -F 'inherit version pname src;' 'inherit (finalAttrs) version pname src;' $file
    sd -F 'inherit version src pname;' 'inherit (finalAttrs) version src pname;' $file
    # other
    sd -F 'makeLibraryPath buildInputs' 'makeLibraryPath finalAttrs.buildInputs' $file
    sd -F 'nativeBuildInputs}' 'finalAttrs.nativeBuildInputs}' $file
    sd -F 'buildInputs}' 'finalAttrs.buildInputs}' $file
    sd -F 'propagatedBuildInputs}' 'finalAttrs.propagatedBuildInputs}' $file
    sd -F 'desktopItem}' 'finalAttrs.desktopItem}' $file
    sd -F 'runtimeLibs}' 'finalAttrs.runtimeLibs}' $file
    sd -F 'makePythonPath dependencies' 'makePythonPath finalAttrs.dependencies' $file
    sd -F 'makePythonPath propagatedBuildInputs' 'makePythonPath finalAttrs.propagatedBuildInputs' $file
    sd -F 'libPath}' 'finalAttrs.libPath}' $file
    sd -F 'runtimeDependencies}' 'finalAttrs.runtimeDependencies}' $file
    sd -F 'runtimeDeps}' 'finalAttrs.runtimeDeps}' $file
    sd -F 'nativeRuntimeInputs}' 'finalAttrs.nativeRuntimeInputs}' $file
    sd -F '(!doCheck)' '(!finalAttrs.doCheck)' $file
    sd -F 'optional doCheck' 'optional finalAttrs.doCheck' $file
    sd -F 'optionals doCheck' 'optionals finalAttrs.doCheck' $file
    sd -F '++ runtimeDependencies' '++ finalAttrs.runtimeDependencies' $file
    # close finalAttrs lambda
    echo ')' >>$file
    # catch some errors early
    if ! nixfmt $file
        git restore $file
        continue
    end
    if ! nixf-diagnose -i sema-primop-overridden $file
        git restore $file
        continue
    end
end

set torestore (rg -F .finalAttrs --files-with-matches $scope)
if test (count $torestore) -gt 0
    git restore $torestore
end
set torestore (rg -F finalAttrs.pname --files-with-matches $scope)
if test (count $torestore) -gt 0
    git restore $torestore
end

# commit for faster eval times
git add pkgs
git commit --no-gpg-sign -m temp
set torestore

for file in $files
    # file hasn't changed
    if git diff --quiet $base $file
        continue
    end
    # try to eval the package to definitely catch all errors
    echo $file
    set pname (string split / $file -f 4)
    if ! nix eval .#$pname
        set torestore $torestore $file
    end
end

# restore files that don't eval
git reset --soft $base
git restore --staged .
if test (count $torestore) -gt 0
    git restore $torestore
end
```

after that some manual cleanup was done:
- restoring files that cause changes in the number of lines
- restoring files that cause rebuilds
- restoring files that cause merge conflicts with staging
2026-02-07 10:06:06 +01:00
quantenzitrone
6b61249106 various: switch to finalAttrs pattern
this shouldn't create any rebuilds
2026-01-30 02:36:22 +01:00
Ihar Hrachyshka
567e8dfd8e treewide: clean up 'meta = with' pattern
This commit was created by a combination of scripts and tools:
- an ast-grep script to prefix things in meta with `lib.`,
- a modified nixf-diagnose / nixf combination to remove unused `with
lib;`, and
- regular nixfmt.

Co-authored-by: Wolfgang Walther <walther@technowledgy.de>
2025-12-10 18:09:49 +01:00
David Wronek
41ce478b10 b4: 0.14.2 -> 0.14.3
Signed-off-by: David Wronek <david.wronek@mainlining.org>
2025-10-03 10:58:24 +02:00
Silvan Mosberger
4f0dadbf38 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 a08b3a4d19.tar.gz \
      --argstr baseRev b32a094368
    result/bin/apply-formatting $NIXPKGS_PATH
2024-12-10 20:26:33 +01:00
aleksana
571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00