>From b25f8506b8183e5fb9cc5ce0e59384f4a61a83a2 Mon Sep 17 00:00:00 2001 From: ng0 <address@hidden> Date: Tue, 10 Jan 2017 20:49:30 +0000 Subject: [PATCH 1/2] gnu: Add libpng-apng. * gnu/packages/image.scm (libpng-apng): New variable. --- gnu/packages/image.scm | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 53ed69a84..89e843c75 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2016 Eric Bavier <address@hidden> ;;; Copyright © 2016 Arun Isaac <address@hidden> ;;; Copyright © 2016 Kei Kebreau <address@hidden> +;;; Copyright © 2017 ng0 <address@hidden> ;;; ;;; This file is part of GNU Guix. ;;; @@ -98,6 +99,52 @@ library. It supports almost all PNG features and is extensible.") (inherit (package-source libpng)) (patches (search-patches "libpng-CVE-2016-10087.patch")))))) +(define-public libpng-apng + (package + (inherit libpng) + (name "libpng-apng") + (version (package-version libpng)) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-apng + (lambda* (#:key inputs #:allow-other-keys) + (define (apply-patch file) + (zero? (system* "patch" "-p1" "--force" + "--input" file))) + (let ((apng.gz (assoc-ref inputs "apng"))) + (format #t "Applying APNG patch '~a'...~%" + apng.gz) + (system (string-append "gunzip < " apng.gz " > the-patch")) + (and (apply-patch "the-patch") + (for-each apply-patch + (find-files "\\.patch")))) + #t)) + (add-before 'configure 'no-checks + (lambda _ + (substitute* "Makefile.in" + (("^scripts/symbols.chk") "") + (("check: scripts/symbols.chk") "")) + (zero? (system* "libtool")) + #t))))) + (inputs + `(("apng" ,(origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/libpng-apng/libpng16/" + version "/libpng-" version "-apng.patch.gz")) + (sha256 + (base32 + "026r0gbkf6d6v54wca02cdxln8sj4m2c1yk62sj2aasv2ki2ffh5")))))) + (native-inputs + `(("libtool" ,libtool))) + (synopsis "APNG patch for libpng") + (description + "APNG (Animated Portable Network Graphics) is an unofficial +extension of the APNG (Portable Network Graphics) format. +APNG patch provides APNG support to libpng.") + (home-page "https://sourceforge.net/projects/libpng-apng/"))) + (define-public libpng-1.2 (package (inherit libpng) -- 2.12.0