The required gitstatus version compatible with zsh-powerlevel10k has
been pinned, as even though it is written by the same author, gitstatus
has received updates which are not yet compatible with zsh-p10k.
Fixes: #101946
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
The script assumed that `wget` was available in the environment
along with common CA certificates.
Replaced the detection of GPG, which is not necessary anymore.
Added pulling the public key bash releases and patches are signed with,
without which we cannot verify signatures.
- use fetchFromGitHub instead of fetchgit
- indent the `installPhase` properly
- remove unused `pathsToLink`
- don't hardcode `phases` to allow patching
- don't copy from $src, but . to allow patching
This adds a warning to the top of each “boot” package that reads:
Note: this package is used for bootstrapping fetchurl, and thus cannot
use fetchpatch! All mutable patches (generated by GitHub or cgit) that
are needed here should be included directly in Nixpkgs as files.
This makes it clear to maintainer that they may need to treat this
package a little differently than others. Importantly, we can’t use
fetchpatch here due to using <nix/fetchurl.nix>. To avoid having stale
hashes, we need to include patches that are subject to changing
overtime (for instance, gitweb’s patches contain a version number at
the bottom).
This reverts commit a85b07cbcb as
executing the tests in parallel makes them flaky. This can be seen very
easily on armv7l machines (and probably other machines that are slower
than common x86_64 machines as well), but is also reproducible on
x86_64.
This fixes#91706.
Related:
- 9fc5e7e473
- 593e11fd94
- 508ae42a0f
Since the last time I ran this script, the Repology API changed, so I had to
adapt the script used in the previous PR. The new API should be more robust, so
overall this is a positive (no more grepping the error messages for our relevant
data but just a nice json structure).
Here's the new script I used:
```sh
curl https://repology.org/api/v1/repository/nix_unstable/problems \
| jq -r '.[] | select(.type == "homepage_permanent_https_redirect") | .data | "s@\(.url)@\(.target)@"' \
| sort | uniq | tee script.sed
find -name '*.nix' | xargs -P4 -- sed -f script.sed -i
```
I will also add this script to `maintainers/scripts`.
Currently the tests take an eternity and are also sometimes flaky. By
following upstream in using xdist for parallel test execution we at
least get the feedback cycle down. On my machine that means instead of
running this for ~25min it runs in 1 minute and 10 seconds.
`nix-build -A fish.tests.fishConfig` will now test that the
`fish_config` tool would start up properly. Previously, this test was
effectively disabled due to `withTests` being stubbed out.
I don't think this test ever truly worked, because the generated
temporary file would be cleaned up automatically (or maybe this
"automatically" changed between versions). The solution to this is to
add `delete=False` to the `NamedTemporaryFile` function call, to keep
the temporary file around in order to grep its contents for the expected
output.
Changes since the last release
New and changed parameters
POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER can now be set to last (equivalent to true from older versions) or first (new feature).
Bug fixes
gitstatus once again works on 32-bit ARM Linux (armv6l and armv7l).
https://github.com/fish-shell/fish-shell/compare/3.1.1...3.1.2
"This release of fish fixes a major issue discovered in fish 3.1.1:
Commands such as `fzf` and `enhancd`, when used with `eval`, would hang.
`eval` buffered output too aggressively, which has been fixed."
Changes since the last release
Bug fixes
Configuration wizard no longer redraws screen every second
Configuration wizard no longer prints spurious errors before the charset screen
Configuration wizard once again honors prompt frame selection
https://github.com/fish-shell/fish-shell/compare/3.1.0...3.1.1
The patch we had to use for Apple SDKs was merged upstream, so it can be
dropped. I ran nixpkgs-fmt, and removed the `with stdenv.lib;` scope
expander.
Additionally, did a little bit of cleanup. I plan on refactoring this
more down the line, but this'll do for now.
I finally figured out why we use `fetchurl` for the tagged release: the
published release tarballs contain a version file, which the
`build_tools/git_version_gen.sh` script reads (and uses as the version
if it exists). The other thing it contains are pre-generated docs for
various `fish` builtins. I've expanded the comment to document this so
nobody is as confused as I was when I first saw it. (Though I plan to
change this and add sphinx as a native build input in order to build the
docs ourselves.)
Changes since the last release
Wizard
Configuration wizard now reacts to terminal size changes in real time and can function at much smaller terminal dimensions.
Configs with prompt_char now have vi_mode disabled by default.
Generated configs now unset DEFAULT_USER.
Classic and Rainbow configs now set POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND. This makes it easier to define 3-line prompt.
New parameters
If POWERLEVEL9K_CONFIG_FILE is set, configuration wizard will write configs to the specified location instead of the default ${ZDOTDIR:-~}/.p10k.zsh.
gitstatus
Support older macOS versions (at least El Capitan; even older versions might work).
Support Linux on armv6, i386 and i686.
Support cygwin and msys2 on i686.
macOS builds now use iconv from Homebrew.
gitstatusd binaries are now being built with https://github.com/romkatv/gitstatus/blob/release/mbuild.
Misc
The default icon for proxy segment is now ↔ instead of ⮂. The old icon is missing in many fonts.
Bug fixes
gitstatus once again works on 64-bit Linux without glibc.
Instant prompt no longer gets gradually slower over time when XDG_HOME_CACHE is on a slow filesystem.
Instant prompt no longer prints spurious erros when XDG_HOME_CACHE is on NTFS.
The old-style (and discouraged) custom prompts now work on zsh 5.3.1.
Configuration wizard once again presents "extra icons" and "fluent prompt" options when using 12-hour time format.
The app is still maintained upstream, but they aren't cutting releases on
crates.io anymore:
https://crates.io/crates/ion-shell
This fixes the build with the latest Rust toolchain by upgrading to the current
commit off the project's `master`.
ZHF: #80379
Changes since the last release
New and changed parameters:
Two additional parameters are available in gcloud: P9K_GCLOUD_CONFIGURATION and P9K_GCLOUD_PROJECT_NAME.
gcloud segment can now be in two states: PARTIAL and COMPLETE. See documentation.
Wizard:
The screen asking whether to display current time now offers a choice between two formats: 24-hour and 12-hour.
os_icon is no longer bold.
Slanted and flat separators are now using glyphs from Box Drawing Unicode block. They should look much better in fonts with correctly sized Box Drawing glyphs.
gcloud now displays project name instead of project id whenever possible.
Bug fixes:
Powerlevel10k no longer resolves symbolic links when calling commands that might act differently depending on argv[0].
java_version now works properly when using AdoptOpenJDK.
Misc:
Arch Linux users can now install Powerlevel10k with pacman. See instructions.
There is a new version of MesloLGS NF (the recommended font) with better alignment of powerline glyphs and 44% larger icons (by area). iTerm2 users can upgrade by typing p10k configure. Users of other terminals can follow manual installation instructions.
Changes since the last release
New prompt segments:
package: shows npm name and version from package.json (disabled by default).
New and changed parameters:
P9K_OS_ICON: set by Powerlevel10k on initialization; can be used in user-defined prompt segments and *_EXPANSION parameters.
POWERLEVEL9K_ICON_PADDING: when set to moderate, some icons will have an extra space after them. This is meant to avoid icon overlap when using non-monospace fonts. When set to none, spaces are not added.
Performance improvement:
detect_virt prompt segment is now 50% faster.
Bug fixes:
Many terminal escape sequences are now terminated with BEL instead of ST. BEL is the standard terminator according to ECMA-48 §8.3.89 but Konsole doesn't understand it. Thankfully, all terminals appear to understand BEL as extension.
Superfluous spaces have been removed from vcs segment when using a monospace font and not using my_git_formatter.
Wizard:
Generated configs now set POWERLEVEL9K_ICON_PADDING in favor of *_VISUAL_IDENTIFIER_EXPANSION. The value of this parameters depends on the answers to the first few questions that concern terminal font capabilities.
Generated configs no longer attempt to work around misconfigured locale. The workarounds in Powerlevel10k proper are sufficient.
gitstatus:
Fix a regression on Linux systems where uname doesn't understand -o.
Fix a regression on Cygwin and MinGW when running on older versions of Windows.
Fix a bug that can result in occasional gitstatus initialization failure on WSL when using Powerlevel10k with Instant Prompt.
Closes#81951
The PR unnecessarily removes the `patchShebangs .`-call, also the
non-deterministically failing testcase `test_pyghooks` isn't excluded
there.
Co-authored-by: Mario Rodas <marsam@users.noreply.github.com>