Update README
This commit is contained in:
parent
df9c9d48cc
commit
a7737533c2
2 changed files with 34 additions and 21 deletions
|
@ -50,7 +50,7 @@ steps:
|
||||||
commands:
|
commands:
|
||||||
- meson --buildtype=release target/shared
|
- meson --buildtype=release target/shared
|
||||||
- ninja -C target/shared
|
- ninja -C target/shared
|
||||||
- strip target/static/src/xwim
|
- strip target/shared/src/xwim
|
||||||
- mkdir xwim-${DRONE_TAG}-x86_64-glibc-linux-shared
|
- mkdir xwim-${DRONE_TAG}-x86_64-glibc-linux-shared
|
||||||
- mv target/shared/src/xwim xwim-${DRONE_TAG}-x86_64-glibc-linux-shared
|
- mv target/shared/src/xwim xwim-${DRONE_TAG}-x86_64-glibc-linux-shared
|
||||||
|
|
||||||
|
|
53
README.md
53
README.md
|
@ -7,7 +7,7 @@ Do What I Mean Extractor
|
||||||
|
|
||||||
[xkcd-1168](https://xkcd.com/1168/)
|
[xkcd-1168](https://xkcd.com/1168/)
|
||||||
|
|
||||||
Continuing the emacs tradition of "Do What I Mean" tools, xwim is a replacement
|
Continuing the emacs tradition of "Do What I Mean" tools, xwim is replacement
|
||||||
for the excellent, but unfortunately unmaintained,
|
for the excellent, but unfortunately unmaintained,
|
||||||
[dtrx](https://github.com/brettcs/dtrx). xwim is a command line tool that
|
[dtrx](https://github.com/brettcs/dtrx). xwim is a command line tool that
|
||||||
targets two problems with archives:
|
targets two problems with archives:
|
||||||
|
@ -17,6 +17,11 @@ considerably between formats
|
||||||
- Inconsiderately packaged archives tend to spill their content over the
|
- Inconsiderately packaged archives tend to spill their content over the
|
||||||
directory they are extracted to
|
directory they are extracted to
|
||||||
|
|
||||||
|
`dtrx` is a Python script that sets up the command line and calls appropriate
|
||||||
|
archiving binaries (if installed). In contrast `xwim` is a compiled binary based
|
||||||
|
directly on archiving libraries, which some may appreciate. It can optionally be
|
||||||
|
statically linked if you want it entirely self-contained.
|
||||||
|
|
||||||
# Usage
|
# Usage
|
||||||
Invoking `xwim` is as simple as:
|
Invoking `xwim` is as simple as:
|
||||||
|
|
||||||
|
@ -25,8 +30,8 @@ xwim archive.tar.gz
|
||||||
```
|
```
|
||||||
|
|
||||||
This will extract the archive to the current folder. If the archive contains a
|
This will extract the archive to the current folder. If the archive contains a
|
||||||
single root folder it is just extracted as is. Otherwise xwim first creates a
|
single root folder it is just extracted as is. Otherwise xwim creates a folder
|
||||||
folder named after the archive and extracts the contents there.
|
named after the archive and extracts the contents there.
|
||||||
|
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
|
@ -77,26 +82,29 @@ xwim will create a folder `archive` in the current directory and extract the
|
||||||
archive contents there.
|
archive contents there.
|
||||||
|
|
||||||
# Supported formats
|
# Supported formats
|
||||||
xwim supports most formats supported by [libarchive](https://libarchive.org/):
|
Currently `xwim` supports `tar.gz` and `zip` archives. However, this will
|
||||||
|
rapidly expand to many more formats until a stable release is officially
|
||||||
|
announced.
|
||||||
|
|
||||||
- 7-zip: 7z, 7zip
|
Take a look `Archiver.hpp` if you want to help and have some time for testing.
|
||||||
- zip: jar, zip
|
Most formats can readily be added if they are supported by libarchive. For other
|
||||||
- bzip2: bz2, bzip2
|
formats you have to add an `Archiver` implementation.
|
||||||
- gzip: gz, gzip
|
|
||||||
- xzip: xz
|
|
||||||
- rar: rar
|
|
||||||
- tar with compression: tgz, tar.gz, tar.bz2, tar.xz
|
|
||||||
|
|
||||||
# Install
|
# Install
|
||||||
xwim is currently released as a dynamically linked glibc binary only. The
|
`xwim` currently released for Linux only. There are two flavers: statically
|
||||||
releases can be downloaded from https://git.friedl.net/incubator/xwim/releases
|
linked and dynamically linked. The releases can be downloaded from
|
||||||
and should run on most glibc based GNU/Linux distributions. The following
|
https://git.friedl.net/incubator/xwim/releases and should run on most 64-bit
|
||||||
dependencies have to be installed:
|
GNU/Linux distributions.
|
||||||
|
|
||||||
|
For the dynamically linked version, the following dependencies have to be
|
||||||
|
installed:
|
||||||
- [spdlog](https://github.com/gabime/spdlog)
|
- [spdlog](https://github.com/gabime/spdlog)
|
||||||
- [fmt](https://github.com/fmtlib/fmt)
|
- [fmt](https://github.com/fmtlib/fmt)
|
||||||
- [libarchive](https://github.com/libarchive/libarchive)
|
- [libarchive](https://github.com/libarchive/libarchive)
|
||||||
|
|
||||||
Approaching the first stable release we will release for more platforms.
|
Windows support is planned for the first stable release. Packaging for various
|
||||||
|
distributions is also planned once `xwim` stabilizes. Please reach out if you
|
||||||
|
can help.
|
||||||
|
|
||||||
# Build
|
# Build
|
||||||
xwim is built with [meson](https://mesonbuild.com/). To compile xwim from source
|
xwim is built with [meson](https://mesonbuild.com/). To compile xwim from source
|
||||||
|
@ -161,7 +169,12 @@ mail for an account on https://git.friedl.net.
|
||||||
|
|
||||||
- <strong>Parsing filters is unsupported</strong>
|
- <strong>Parsing filters is unsupported</strong>
|
||||||
There is a somewhat long standing
|
There is a somewhat long standing
|
||||||
[bug](https://github.com/libarchive/libarchive/issues/373) in the underlying
|
[bug](https://github.com/libarchive/libarchive/issues/373) in libarchive. rar
|
||||||
libarchive library. rar files might fail with `Parsing filters is
|
files might fail with `Parsing filters is unsupported`. This is because `rar`
|
||||||
unsupported`. In case you run into this issue, the only workaround for now is
|
is a proprietary format and `libarchive` does not implement the full machinery
|
||||||
to use another extraction tool.
|
necessary to support `rar` completely. `xwim` is all about convenience. If you
|
||||||
|
want to help with supporting `rar`, please keep in mind that this means we
|
||||||
|
have we want to take the [official `unrar`
|
||||||
|
library](https://www.rarlab.com/rar_add.htm) if possible. This is also a
|
||||||
|
licensing issue as `unrar` is proprietary and its license seemingly not GPL
|
||||||
|
compatible.
|
||||||
|
|
Loading…
Reference in a new issue