diff options
Diffstat (limited to 'gitstatus/README.md')
-rw-r--r-- | gitstatus/README.md | 84 |
1 files changed, 9 insertions, 75 deletions
diff --git a/gitstatus/README.md b/gitstatus/README.md index 24ebf75d..291f89bf 100644 --- a/gitstatus/README.md +++ b/gitstatus/README.md @@ -511,83 +511,17 @@ by shell bindings automatically. When you update shell bindings, they may refuse to work with the binary you've built earlier. In this case you'll need to rebuild. -### Compiling for distribution - -If you want to package gitstatus, it's best to do it based off [releases]( - https://github.com/romkatv/gitstatus/releases). - -The following code should work without patching anything in gitstatus 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 gitstatus tarball. -gitstatus_version=1.1.0 # IMPORTANT: CHANGE VERSION TO WHAT YOU WANT -wget https://github.com/romkatv/gitstatus/archive/v"$gitstatus_version".tar.gz -tar -xzf v"$gitstatus_version".tar.gz -cd gitstatus-"$gitstatus_version" - -# Download libgit2 tarball and compile gitstatusd. -./build -w - -# Post-process. -rm ./deps/libgit2-*.tar.gz -for file in *.zsh install; do - zsh -fc "emulate zsh -o no_aliases && zcompile -R -- $file.zwc $file" -done -``` +If you are using gitstatus through [Powerlevel10k](https://github.com/romkatv/powerlevel10k), the +instructions are the same except that you don't need to clone gitstatus. Instead, change your +current directory to `/path/to/powerlevel10k/gitstatus` (`/path/to/powerlevel10k` is the directory +where you've installed Powerlevel10k) and run `./build -w -s -d docker` from there as described +above. -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 `./build`. - -gitstatus depends on a [custom fork of libgit2](https://github.com/romkatv/libgit2/). When you run -`./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 `./build` without `-w`. - -```zsh -# Download and extract gitstatus tarball. -gitstatus_version=1.1.0 # IMPORTANT: CHANGE VERSION TO WHAT YOU WANT -wget https://github.com/romkatv/gitstatus/archive/v"$gitstatus_version".tar.gz -tar -xzf v"$gitstatus_version".tar.gz -cd gitstatus-"$gitstatus_version" - -# Download libgit2 tarball and place it where ./build expects it. -. ./build.info -libgit2_path=./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. -./build - -# Post-process. -rm ./deps/libgit2-*.tar.gz -for file in *.zsh install; do - zsh -fc "emulate zsh -o no_aliases && zcompile -R -- $file.zwc $file" -done -``` +### Compiling for distribution -Note that the URL and the content of the libgit2 tarball are fully defined by the main gitstatus -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/gitstatus/blob/master/build.info) to your package definition, if you -prefer. - -[Powerlevel10k](https://github.com/romkatv/powerlevel10k) has an embedded version of 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. +It's currently neither easy nor recommended to package and distribute gitstatus. There are no +instructions you can follow that would allow you to easily update your package when new versions of +gitstatus are released. This may change in the future but not soon. ## License |