1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-12 18:10:47 +02:00
guix/gnu/packages/crates-compression.scm
Efraim Flashner cfec481e89
gnu: rust-deflate: Move to (gnu packages crates-compression).
* gnu/packages/crates-io.scm (rust-deflate-1, rust-deflate-0.9,
rust-deflate-0.8, rust-deflate-0.7, rust-deflate64-0.1): Move from here
* gnu/packages/crates-compression.scm: ... to here.

Change-Id: If8a06a94dba191b258af8d52fc98a5df801bf8a4
2025-01-06 12:19:34 +02:00

438 lines
15 KiB
Scheme

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Valentin Ignatev <valentignatev@gmail.com>
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020, 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2024 Steve George <steve@futurile.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;;
;;; Please: Try to add new module packages in alphabetic order.
;;;
(define-module (gnu packages crates-compression)
#:use-module (guix build-system cargo)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix gexp)
#:use-module (gnu packages crates-check)
#:use-module (gnu packages crates-crypto)
#:use-module (gnu packages crates-io))
;;;
;;; Please: Try to add new module packages in alphabetic order.
;;;
(define-public rust-brotli-7
(package
(name "rust-brotli")
(version "7.0.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "brotli" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1g99xay61mds9d23fnfj5gfbd6g11gihfgs3y1abljwldzqvi5yc"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs (("rust-alloc-no-stdlib" ,rust-alloc-no-stdlib-2)
("rust-alloc-stdlib" ,rust-alloc-stdlib-0.2)
("rust-brotli-decompressor" ,rust-brotli-decompressor-4)
("rust-sha2" ,rust-sha2-0.10))))
(home-page "https://github.com/dropbox/rust-brotli")
(synopsis "Brotli compressor and decompressor")
(description
"This package provides a brotli compressor and decompressor that with an
interface avoiding the rust stdlib. This makes it suitable for embedded devices
and kernels. It is designed with a pluggable allocator so that the standard
lib's allocator may be employed. The default build also includes a stdlib
allocator and stream interface. Disable this with --features=no-stdlib. All
included code is safe.")
(license (list license:bsd-3 license:expat))))
(define-public rust-brotli-6
(package
(inherit rust-brotli-7)
(name "rust-brotli")
(version "6.0.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "brotli" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0swvf6cgbwhwrpd5y23vq6wipb6q2wqvi2j0hy0xa9lkplfrgxvl"))))
(arguments
`(#:cargo-inputs (("rust-alloc-no-stdlib" ,rust-alloc-no-stdlib-2)
("rust-alloc-stdlib" ,rust-alloc-stdlib-0.2)
("rust-brotli-decompressor" ,rust-brotli-decompressor-4)
("rust-sha2" ,rust-sha2-0.10))))))
(define-public rust-brotli-3
(package
(inherit rust-brotli-7)
(name "rust-brotli")
(version "3.5.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "brotli" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"14f34ml3i8qbnh4hhlv5r6j10bkx420gspsl1cgznl1wqrdx4h6n"))))
(arguments
`(#:cargo-inputs
(("rust-alloc-no-stdlib" ,rust-alloc-no-stdlib-2)
("rust-alloc-stdlib" ,rust-alloc-stdlib-0.2)
("rust-brotli-decompressor" ,rust-brotli-decompressor-2)
("rust-sha2" ,rust-sha2-0.10))))))
(define-public rust-brotli-decompressor-4
(package
(name "rust-brotli-decompressor")
(version "4.0.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "brotli-decompressor" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0qn39c7n6wm40i2bm0d3q2qslmaavlh804iv0ccbba4m80pbsics"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ; not all test files included
#:cargo-inputs (("rust-alloc-no-stdlib" ,rust-alloc-no-stdlib-2)
("rust-alloc-stdlib" ,rust-alloc-stdlib-0.2))))
(home-page "https://github.com/dropbox/rust-brotli-decompressor")
(synopsis "Brotli decompressor")
(description "This package provides a brotli decompressor with no
dependency on the rust stdlib. This makes it suitable for embedded devices
and kernels.")
(license (list license:bsd-3 license:expat))))
(define-public rust-brotli-decompressor-2
(package
(inherit rust-brotli-decompressor-4)
(name "rust-brotli-decompressor")
(version "2.5.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "brotli-decompressor" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0kyyh9701dwqzwvn2frff4ww0zibikqd1s1xvl7n1pfpc3z4lbjf"))))
(arguments
`(#:tests? #f ; not all test files included
#:cargo-inputs
(("rust-alloc-no-stdlib" ,rust-alloc-no-stdlib-2)
("rust-alloc-stdlib" ,rust-alloc-stdlib-0.2))))))
(define-public rust-brotli-sys-0.3
(package
(name "rust-brotli-sys")
(version "0.3.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "brotli-sys" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1kdfdbcba6zwa13xpjwgiplblkdf6vigxjbwwp6l2ascbylxwia4"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-cc" ,rust-cc-1)
("rust-libc" ,rust-libc-0.2))))
(home-page "https://github.com/alexcrichton/brotli2-rs")
(synopsis "Raw bindings to libbrotli")
(description "This package provides raw bindings to libbrotli.")
(license (list license:expat license:asl2.0))))
(define-public rust-brotli2-0.3
(package
(name "rust-brotli2")
(version "0.3.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "brotli2" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "13jnhpmfkqy2xar4lxrsk3rx3i12bgnarnsxq4arhc6yxb1kdc0c"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-brotli-sys" ,rust-brotli-sys-0.3)
("rust-libc" ,rust-libc-0.2))
#:cargo-development-inputs
(("rust-quickcheck" ,rust-quickcheck-0.4))))
(home-page "https://github.com/alexcrichton/brotli2-rs")
(synopsis "Rust bindings to compression library libbrotli")
(description
"This package provides bindings to libbrotli to provide brotli
decompression and compression to Rust.")
(license (list license:expat license:asl2.0))))
(define-public rust-bzip2-0.4
(package
(name "rust-bzip2")
(version "0.4.4")
(source
(origin
(method url-fetch)
(uri (crate-uri "bzip2" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32 "1y27wgqkx3k2jmh4k26vra2kqjq1qc1asww8hac3cv1zxyk1dcdx"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-bzip2-sys" ,rust-bzip2-sys-0.1)
("rust-futures" ,rust-futures-0.1)
("rust-libc" ,rust-libc-0.2)
("rust-tokio-io" ,rust-tokio-io-0.1))
#:cargo-development-inputs
(("rust-partial-io" ,rust-partial-io-0.3)
("rust-quickcheck" ,rust-quickcheck-1)
("rust-rand" ,rust-rand-0.8)
("rust-tokio-core" ,rust-tokio-core-0.1))))
(home-page "https://github.com/alexcrichton/bzip2-rs")
(synopsis
"Rust bindings to libbzip2 for bzip2 compression and decompression")
(description
"Bindings to @code{libbzip2} for @code{bzip2} compression and decompression
exposed as Reader/Writer streams.")
(license (list license:expat license:asl2.0))))
(define-public rust-bzip2-0.3
(package
(inherit rust-bzip2-0.4)
(name "rust-bzip2")
(version "0.3.3")
(source
(origin
(method url-fetch)
(uri (crate-uri "bzip2" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32 "0fvfwanp42j1zpig880jhb5mc0na50bijmwd6211p77sy35w7ds2"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-bzip2-sys" ,rust-bzip2-sys-0.1)
("rust-futures" ,rust-futures-0.1)
("rust-libc" ,rust-libc-0.2)
("rust-tokio-io" ,rust-tokio-io-0.1))
#:cargo-development-inputs
(("rust-partial-io" ,rust-partial-io-0.2)
("rust-quickcheck" ,rust-quickcheck-0.4)
("rust-rand" ,rust-rand-0.3)
("rust-tokio-core" ,rust-tokio-core-0.1))))))
(define-public rust-bzip2-rs-0.1
(package
(name "rust-bzip2-rs")
(version "0.1.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "bzip2-rs" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0dgp83kixqrqj6q6574qr5zsfpbsiiwhqs3krhvsn4f8wkkmksxy"))
(snippet
#~(begin (use-modules (guix build utils))
;; Don't suggest nightly features of tinyvec.
(substitute* "Cargo.toml"
(("\"tinyvec/nightly_const_generics\", ") ""))))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs (("rust-crc32fast" ,rust-crc32fast-1)
("rust-tinyvec" ,rust-tinyvec-1))
#:cargo-development-inputs
(("rust-bzip2" ,rust-bzip2-0.4)
("rust-criterion" ,rust-criterion-0.3)
("rust-pretty-assertions" ,rust-pretty-assertions-0.6))))
(home-page "https://github.com/paolobarbolini/bzip2-rs")
(synopsis "Pure Rust bzip2 decompressor")
(description "Pure Rust bzip2 decompressor.")
(license (list license:expat license:asl2.0))))
(define-public rust-bzip2-sys-0.1
(package
(name "rust-bzip2-sys")
(version "0.1.11+1.0.8")
(source
(origin
(method url-fetch)
(uri (crate-uri "bzip2-sys" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1p2crnv8d8gpz5c2vlvzl0j55i3yqg5bi0kwsl1531x77xgraskk"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "bzip2-1.0.8")
(delete-file "build.rs")
;; Inspired by Debian's patch.
(with-output-to-file "build.rs"
(lambda _
(format #t "fn main() {~@
println!(\"cargo:rustc-link-lib=bz2\");~@
}~%")))))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-libc" ,rust-libc-0.2)
("rust-cc" ,rust-cc-1)
("rust-pkg-config" ,rust-pkg-config-0.3))))
(home-page "https://github.com/alexcrichton/bzip2-rs")
(synopsis "Rust bindings to libbzip2")
(description
"Bindings to @code{libbzip2} for bzip2 compression and decompression
exposed as Reader/Writer streams.")
(license (list license:expat license:asl2.0))))
(define-public rust-deflate-1
(package
(name "rust-deflate")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "deflate" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0bs319wa9wl7pn9j6jrrxg1gaqbak581rkx210cbix0qyljpwvy8"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ; not all test files included
#:cargo-inputs
(("rust-adler32" ,rust-adler32-1)
("rust-gzip-header" ,rust-gzip-header-1))
#:cargo-development-inputs
(("rust-miniz-oxide" ,rust-miniz-oxide-0.5))))
(home-page "https://github.com/image-rs/deflate-rs")
(synopsis "DEFLATE, zlib and gzip encoder written in rust")
(description "This package provides a DEFLATE, zlib and gzip encoder
written in rust.")
(license (list license:expat license:asl2.0))))
(define-public rust-deflate-0.9
(package
(inherit rust-deflate-1)
(name "rust-deflate")
(version "0.9.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "deflate" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0w0ww0hrq4bjnihxgbnrri4lj5c8yzg31fyzx36fd9pvvw2vz5az"))))
(arguments
`(#:tests? #f ; not all test files included
#:cargo-inputs
(("rust-adler32" ,rust-adler32-1)
("rust-gzip-header" ,rust-gzip-header-0.3))
#:cargo-development-inputs
(("rust-miniz-oxide" ,rust-miniz-oxide-0.3))))))
(define-public rust-deflate-0.8
(package
(inherit rust-deflate-0.9)
(name "rust-deflate")
(version "0.8.6")
(source
(origin
(method url-fetch)
(uri (crate-uri "deflate" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"0x6iqlayg129w63999kz97m279m0jj4x4sm6gkqlvmp73y70yxvk"))))
(arguments
`(#:tests? #f ; not all test files included
#:cargo-inputs
(("rust-adler32" ,rust-adler32-1)
("rust-byteorder" ,rust-byteorder-1)
("rust-gzip-header" ,rust-gzip-header-0.3))
#:cargo-development-inputs
(("rust-miniz-oxide" ,rust-miniz-oxide-0.3))))))
(define-public rust-deflate-0.7
(package
(inherit rust-deflate-0.8)
(name "rust-deflate")
(version "0.7.20")
(source
(origin
(method url-fetch)
(uri (crate-uri "deflate" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1d7d9fpmgjnznrksmd3vlv3dyw01wsrm11ifil6ag22871xnlyvh"))))
(arguments
`(#:cargo-inputs
(("rust-adler32" ,rust-adler32-1)
("rust-byteorder" ,rust-byteorder-1)
("rust-gzip-header" ,rust-gzip-header-0.3)
("rust-flate2" ,rust-flate2-1))))))
(define-public rust-deflate64-0.1
(package
(name "rust-deflate64")
(version "0.1.9")
(source
(origin
(method url-fetch)
(uri (crate-uri "deflate64" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"06scix17pa7wzzfsnhkycpcc6s04shs49cdaxx2k1sl0226jnsfs"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-development-inputs (("rust-bytemuck" ,rust-bytemuck-1)
("rust-proptest" ,rust-proptest-1)
("rust-tempfile" ,rust-tempfile-3))))
(home-page "https://github.com/anatawa12/deflate64-rs#readme")
(synopsis "Deflate64 implementation based on .NET's implementation")
(description "Deflate64 implementation based on .NET's implementation.")
(license license:expat)))