summaryrefslogtreecommitdiff
path: root/gnu/packages/crates-compression.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/crates-compression.scm')
-rw-r--r--gnu/packages/crates-compression.scm194
1 files changed, 194 insertions, 0 deletions
diff --git a/gnu/packages/crates-compression.scm b/gnu/packages/crates-compression.scm
new file mode 100644
index 0000000000..1676717858
--- /dev/null
+++ b/gnu/packages/crates-compression.scm
@@ -0,0 +1,194 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2020, 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org>
+;;;
+;;; 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))))
+