No description
Find a file
Ganesh Viswanathan efd663396a No more debug
2020-10-21 13:39:17 -05:00
nimarchive No more debug 2020-10-21 13:39:17 -05:00
tests Convert to nimterop 2019-08-18 15:23:03 -05:00
.gitignore Switch to 100% prebuilt binaries 2020-07-16 15:36:35 -05:00
.travis.yml Add Conan/JBB support 2020-06-18 11:47:04 -05:00
LICENSE README, license 2018-05-29 23:40:23 -05:00
nimarchive.nim Handle symlink failure on Windows 2020-06-19 18:34:37 -05:00
nimarchive.nimble v0.5.4 2020-10-15 17:44:14 -05:00
README.md Readme update 2020-07-18 00:25:19 -05:00

Nimarchive is a Nim wrapper for the libarchive library.

Nimarchive is distributed as a Nimble package and depends on nimterop to generate the wrappers.

Installation

Nimarchive can be installed via Nimble:

> nimble install nimarchive

This will download and install nimarchive in the standard Nimble package location, typically ~/.nimble. Once installed, it can be imported into any Nim program.

bzip2, liblzma, zlib, lz4, expat and libiconv are also downloaded since they are required dependencies.

On Linux, acl and Attr are also downloaded.

Usage

Module documentation can be found here.

import nimarchive

extract("tests/nimarchive.7z", "destDir")

The extract() API supports most popular archive formats and provides a generic interface. The archive.h functions are directly accessible as well by importing nimarchive/archive.

Refer to the tests directory for examples on how the library can be used. The libarchive wiki is also a good reference guide.

Credits

Nimarchive wraps the libarchive source code and all licensing terms of libarchive apply to the usage of this package. The bzip2, liblzma, zlib, expat and libiconv terms also apply since they are dependencies.

On Linux, acl and Attr license terms also apply.

Feedback

Nimarchive is a work in progress and any feedback or suggestions are welcome. It is hosted on GitHub with an MIT license so issues, forks and PRs are most appreciated.