guix_mirror_bot pushed a commit to branch master
in repository guix.
commit 6a3b5bbd2a4932db790840c71078ea083e7f100f
Author: Noé Lopez <[email protected]>
AuthorDate: Wed Feb 4 23:23:25 2026 +0100
gnu: Add crcpp.
* gnu/packages/crypto.scm (crcpp): New variable.
Merges guix/guix!6137
Change-Id: I9d3824b1c8bd1a5fd257751b98c6c4d63094d8b6
Modified-by: Cayetano Santos <[email protected]>
---
gnu/packages/crypto.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 315ac35ea2..d8eb5f55d8 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -31,6 +31,7 @@
;;; Copyright © 2025 Ashish SHUKLA <[email protected]>
;;; Copyright © 2025 Robin Templeton <[email protected]>
;;; Copyright © 2026 Hennadii Stepanov <[email protected]>
+;;; Copyright © 2026 Noé Lopez <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -144,6 +145,49 @@
CRC32C algorithm, which is specified in RFC 3720, section 12.1.")
(license license:bsd-3)))
+(define-public crcpp
+ (package
+ (name "crcpp")
+ (version "1.2.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/d-bahr/CRCpp.git")
+ (commit (string-append "release-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "005hc25srr4r80md57cg9fax98c8n57ljrhxyw0chjlyq3c0d07n"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'install-pkgconfig-description
+ (lambda _
+ (let ((dir (string-append #$output "/lib/pkgconfig")))
+ (mkdir-p (string-append dir))
+ (with-output-to-file (string-append dir "/CRCpp.pc")
+ (lambda _
+ (simple-format #t "\
+prefix=~a
+includedir=${prefix}/include
+
+Name: ~a
+Description: CRC (cyclic redundancy check) library for C++
+Version: ~a
+Cflags: -I${includedir}"
+ #$output #$name #$version)))))))))
+ (home-page "https://github.com/d-bahr/CRCpp")
+ (synopsis "@acronym{CRC, cyclic redundancy check} library for C++")
+ (description "CRC++ is a C++ library for calculating cyclic redundancy
+checks. It supports bit-by-bit and byte-by-byte calculation of full and
+multipart CRCs. It aims to have highly optimized algorithms that can run
+branchless for projects with a need for efficiency. Many common CRCs are
+provided out-of-the-box, such as CRC-32 (used in PKZip and Ethernet),
+CRC-XMODEM, and CRC-CCITT.")
+ (license license:bsd-3)))
+
(define-public libblake3
(package
(name "libblake3")