mirror of
https://github.com/romkatv/powerlevel10k.git
synced 2024-11-22 04:10:07 +00:00
docs: remove packaging instructions and instead discourage it
This commit is contained in:
parent
619ddaf6f1
commit
ba6c79e277
1 changed files with 3 additions and 75 deletions
78
README.md
78
README.md
|
@ -1119,81 +1119,9 @@ If everything goes well, four `ttf` files will appear in `./out`.
|
||||||
|
|
||||||
### How to package Powerlevel10k for distribution?
|
### How to package Powerlevel10k for distribution?
|
||||||
|
|
||||||
If you want to package Powerlevel10k, it's best to do it based off [releases](
|
It's currently neither easy nor recommended to package and distribute Powerlevel10k. There are no
|
||||||
https://github.com/romkatv/powerlevel10k/releases).
|
instructions you can follow that would allow you to easily update your package when new versions of
|
||||||
|
Powerlevel10k are released. This may change in the future but not soon.
|
||||||
The following code should work without patching anything in Powerlevel10k sources. If it doesn't,
|
|
||||||
please open an issue.
|
|
||||||
|
|
||||||
**IMPORTANT:** *Change version to what you want to package. This example doesn't get updated when
|
|
||||||
new versions are released.*
|
|
||||||
|
|
||||||
```zsh
|
|
||||||
# Download and extract Powerlevel10k tarball.
|
|
||||||
powerlevel10k_version=1.9.0 # IMPORTANT: CHANGE VERSION TO WHAT YOU WANT
|
|
||||||
wget https://github.com/romkatv/powerlevel10k/archive/v"$powerlevel10k_version".tar.gz
|
|
||||||
tar -xzf v"$powerlevel10k_version".tar.gz
|
|
||||||
cd powerlevel10k-"$powerlevel10k_version"
|
|
||||||
|
|
||||||
# Download libgit2 tarball and compile gitstatusd.
|
|
||||||
./gitstatus/build -w
|
|
||||||
|
|
||||||
# Post-process.
|
|
||||||
rm ./gitstatus/deps/libgit2-*.tar.gz
|
|
||||||
for file in *.zsh-theme internal/*.zsh gitstatus/*.zsh gitstatus/install; do
|
|
||||||
zsh -fc "emulate zsh -o no_aliases && zcompile -R -- $file.zwc $file"
|
|
||||||
done
|
|
||||||
```
|
|
||||||
|
|
||||||
This needs binutils, cmake, gcc, g++, git, GNU make, wget, zsh and either shasum or sha256sum.
|
|
||||||
|
|
||||||
Once build completes, *do not delete or move any files*. Package the whole directory as is. Don't
|
|
||||||
add the directory or any of its subdirectories to `PATH`.
|
|
||||||
|
|
||||||
You probably don't want to build in docker, so don't pass `-d` to `./gitstatus/build`.
|
|
||||||
|
|
||||||
gitstatus depends on a [custom fork of libgit2](https://github.com/romkatv/libgit2/). When you run
|
|
||||||
`./gitstatus/build -w`, it'll automatically download the appropriate libgit2 tarball and verify its
|
|
||||||
sha256. If you want to separate the downloading of source tarballs from compilation, you can
|
|
||||||
download the libgit2 tarball manually and invoke `./gitstatus/build` without `-w`.
|
|
||||||
|
|
||||||
```zsh
|
|
||||||
# Download and extract Powerlevel10k tarball.
|
|
||||||
powerlevel10k_version=1.9.0 # IMPORTANT: CHANGE VERSION TO WHAT YOU WANT
|
|
||||||
wget https://github.com/romkatv/powerlevel10k/archive/v"$powerlevel10k_version".tar.gz
|
|
||||||
tar -xzf v"$powerlevel10k_version".tar.gz
|
|
||||||
cd powerlevel10k-"$powerlevel10k_version"
|
|
||||||
|
|
||||||
# Download libgit2 tarball and place it where ./gitstatus/build expects it.
|
|
||||||
. ./gitstatus/build.info
|
|
||||||
libgit2_path=./gitstatus/deps/libgit2-"$libgit2_version".tar.gz
|
|
||||||
libgit2_url=https://github.com/romkatv/libgit2/archive/"$libgit2_version".tar.gz
|
|
||||||
wget -O "$libgit2_path" "$libgit2_url"
|
|
||||||
|
|
||||||
# Compile gitstatusd.
|
|
||||||
./gitstatus/build
|
|
||||||
|
|
||||||
# Post-process.
|
|
||||||
rm ./gitstatus/deps/libgit2-*.tar.gz
|
|
||||||
for file in *.zsh-theme internal/*.zsh gitstatus/*.zsh gitstatus/install; do
|
|
||||||
zsh -fc "emulate zsh -o no_aliases && zcompile -R -- $file.zwc $file"
|
|
||||||
done
|
|
||||||
```
|
|
||||||
|
|
||||||
Note that the URL and the content of the libgit2 tarball are fully defined by the main Powerlevel10k
|
|
||||||
tarball. Thus, you can set URLs and sha256 checksums of the two tarball in the same place (package
|
|
||||||
definition) and update them at the same time when bumping package version. In other words, you don't
|
|
||||||
have to extract `libgit2_version` programmatically. You can manually copy it from [build.info](
|
|
||||||
https://github.com/romkatv/powerlevel10k/blob/master/gitstatus/build.info) to your package
|
|
||||||
definition, if you prefer.
|
|
||||||
|
|
||||||
Powerlevel10k has an embedded version of [gitstatus](https://github.com/romkatv/gitstatus). It must
|
|
||||||
stay that way. If you decide to package both of them, follow the respective instructions from each
|
|
||||||
project. The embedded gitstatus in Powerlevel10k won't conflict with the standalone gitstatus. They
|
|
||||||
can have different versions and can coexist within the same Zsh process. Do not attempt to
|
|
||||||
surgically remove gitstatus from Powerlevel10k, package the result and then force Powerlevel10k to
|
|
||||||
use a separately packaged gitstatus. Instead, treat Powerlevel10k and gitstatus as independent
|
|
||||||
projects that don't depend on each other.
|
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue