[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
10/16: gnu: Add pngcheck.
From: |
guix-commits |
Subject: |
10/16: gnu: Add pngcheck. |
Date: |
Wed, 14 Jun 2023 17:50:04 -0400 (EDT) |
civodul pushed a commit to branch master
in repository guix.
commit 09c4dc5b398d81f6398769b628a81db9712b2e58
Author: Artyom V. Poptsov <poptsov.artyom@gmail.com>
AuthorDate: Sat May 6 13:34:30 2023 +0300
gnu: Add pngcheck.
* gnu/packages/image.scm (pngcheck): New variable.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
gnu/packages/image.scm | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 069a214b8c..2005243cf7 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -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,62 @@ APNG patch provides APNG support to libpng.")
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")))
+ (add-after 'build 'compress-man-pages
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (invoke "gzip" "pngcheck.1")
+ (invoke "gzip" "gpl/pngsplit.1")
+ (invoke "gzip" "gpl/png-fix-IDAT-windowsize.1")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin/"))
+ (man (string-append out "/share/man/man1/")))
+ (install-file "pngcheck" bin)
+ (install-file "pngcheck.1.gz" man)
+ (install-file "pngsplit" bin)
+ (install-file "gpl/pngsplit.1.gz" man)
+ (install-file "png-fix-IDAT-windowsize" bin)
+ (install-file "gpl/png-fix-IDAT-windowsize.1.gz"
man)))))))
+ (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}.)
+
+Also includes @code{pngsplit} which can split a PNG, MNG or JNG file into
individual,
+numbered chunks, and @code{png-fix-IDAT-windowsize} that allow to reset first
IDAT's
+zlib window-size bytes and fix up CRC to match.")
+ ;; "pngsplit" and "png-fix-IDAT-windowsize" are licensed under the terms of
+ ;; GNU GPL2+. See "gpl/COPYING" in the repository."
+ (license (list license:x11 license:gpl2+))))
+
(define-public pnglite
(let ((commit "11695c56f7d7db806920bd9229b69f230e6ffb38")
(revision "1"))
- 03/16: gnu: cuirass: Use guile-fibers 1.3.1., (continued)
- 03/16: gnu: cuirass: Use guile-fibers 1.3.1., guix-commits, 2023/06/14
- 02/16: gnu: shepherd@0.10: Use guile-fibers 1.3.1., guix-commits, 2023/06/14
- 05/16: gnu: gnunet-scheme: Use guile-fibers 1.3.1., guix-commits, 2023/06/14
- 07/16: gnu: libtree: fix building on non-x86 systems., guix-commits, 2023/06/14
- 08/16: gnu: Add nwipe., guix-commits, 2023/06/14
- 14/16: gnu: browserpass-native: Use new package style., guix-commits, 2023/06/14
- 06/16: packages: 'package-transitive-supported-systems' detects cycles., guix-commits, 2023/06/14
- 04/16: gnu: guile-fibers: Remove 'guile-fibers-next'., guix-commits, 2023/06/14
- 09/16: gnu: Add bdf2sfd., guix-commits, 2023/06/14
- 11/16: gnu: gnushogi: Fix build., guix-commits, 2023/06/14
- 10/16: gnu: Add pngcheck.,
guix-commits <=
- 15/16: gnu: guile-netlink: Update to 1.2., guix-commits, 2023/06/14
- 13/16: gnu: browserpass-native: Update to 3.1.0., guix-commits, 2023/06/14
- 12/16: gnu: Add systemtap, guix-commits, 2023/06/14
- 01/16: gnu: guile-fibers: Add 1.3.1., guix-commits, 2023/06/14
- 16/16: services: static-netwoking: Wait for devices to show up., guix-commits, 2023/06/14