summaryrefslogtreecommitdiff
path: root/guix/lzlib.scm
Commit message (Collapse)AuthorAge
* lzlib: Define 'dictionary-size+match-length-limit'.Ludovic Courtès2020-01-16
| | | | | | | | * guix/lzlib.scm (%compression-levels): Splice the rest of each element. (dictionary-size+match-length-limit): New procedure. (make-lzip-output-port, make-lzip-input-port/compressed): Use it. * tests/lzlib.scm ("Bytevector of size relative to Lzip internal buffers (2 * dictionary)"): Use 'dictionary-size+match-length-limit' instead of 'assoc-ref'.
* lzlib: 'make-lzip-input-port' better handles end of decompression.Ludovic Courtès2019-06-01
| | | | | | | | Suggested by Pierre Neidhardt <mail@ambrevar.xyz>. * guix/lzlib.scm (lzread!): Call 'lz-decompress-finish' when 'feed-decoder!' returns EOF. Call 'lz-decompress-finished?' to determine end of compression.
* lzlib: 'lzread!' never returns more than it was asked for.Ludovic Courtès2019-05-27
| | | | | | Fixes a bug whereby 'lzread!' could return more than COUNT. * guix/lzlib.scm (lzread!): Rewrite in a semi-functional style.
* lzlib: Add 'make-lzip-input-port/compressed'.Ludovic Courtès2019-05-27
| | | | | | | * guix/lzlib.scm (lzwrite!, make-lzip-input-port/compressed): New procedures. * tests/lzlib.scm ("make-lzip-input-port/compressed"): New test. * guix/tests.scm (%seed): Export.
* lzlib: Adjust 'lz-compress-read' docstring.Ludovic Courtès2019-05-27
| | | | | * guix/lzlib.scm (lz-compress-read): The integer return can be zero; adjust docstring accordingly.
* guix: Simplify and robustify lzread!.Pierre Neidhardt2019-05-07
| | | | | | | | | * guix/lzlib.scm (lzread!): Do it. Previously lzread! would fail if COUNT was bigger than (lz-decompress-write-size). This is possible if a previous call to lzread! didn't empty the LZ_decompress input buffer (e.g. BV was too small to fit all the data).
* Add (guix lzlib).Pierre Neidhardt2019-05-06
* guix/lzlib.scm, tests/lzlib.scm: New files. * Makefile.am (MODULES): Add guix/lzlib.scm. (SCM_TESTS): Add tests/lzlib.scm. * m4/guix.m4 (GUIX_LIBLZ_LIBDIR): New macro. * configure.ac (LIBLZ_LIBDIR): Use it. Define and substitute 'LIBLZ'. * guix/config.scm.in (%liblz): New variable. * guix/self.scm (make-config.scm): Add TODO comment. Co-authored-by: Ludovic Courtès <ludo@gnu.org>