From 3b672b4a728c950c861770ab0b5498730435da5b Mon Sep 17 00:00:00 2001
Message-Id: <3b672b4a728c950c861770ab0b5498730435da5b.1683369521.git.poptsov.artyom@gmail.com>
From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
Date: Sat, 6 May 2023 13:34:30 +0300
Subject: [PATCH] gnu: Add pngcheck.
* gnu/packages/image.scm (pngcheck): New variable.
---
gnu/packages/image.scm | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
@@ -37,6 +37,7 @@
;;; Copyright © 2022-2023 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -322,6 +323,45 @@ (define-public pngcrush
images. It can further losslessly compress them by as much as 40%.")
(license license:zlib)))
+(define-public pngcheck
+ (package
+ (name "pngcheck")
+ (version "3.0.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://www.libpng.org/pub/png/src/pngcheck-" version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1rny14v57d2zvnqcqbh3m87mkya22qr2394fg7vm3xsacf8l8sn3"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ;no check target
+ #:phases (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (invoke "make" "-f" "Makefile.unx")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin/")))
+ (install-file "pngcheck" bin)))))))
+ (inputs (list zlib))
+ (home-page "http://www.libpng.org/pub/png/apps/pngcheck.html")
+ (synopsis "Print info and check PNG, JNG and MNG files")
+ (description
+ "@code{pngcheck} verifies the integrity of PNG, JNG and MNG files (by
+checking the internal 32-bit CRCs, a.k.a. checksums, and decompressing the image
+data); it can optionally dump almost all of the chunk-level information in the image
+in human-readable form. For example, it can be used to print the basic statistics
+about an image (dimensions, bit depth, etc.); to list the color and transparency info
+in its palette (assuming it has one); or to extract the embedded text annotations.
+This is a command-line program with batch capabilities (e.g. @code{pngcheck
+*.png}.)")
+ (license license:expat)))
+
(define-public pnglite
(let ((commit "11695c56f7d7db806920bd9229b69f230e6ffb38")
(revision "1"))
base-commit: 64086a4fa449a9f6d2f835fcdf5498222b309e3a
--
2.34.1