[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/01: gnu: Add libpng-apng.
From: |
Kei Kebreau |
Subject: |
01/01: gnu: Add libpng-apng. |
Date: |
Fri, 17 Mar 2017 11:26:55 -0400 (EDT) |
kkebreau pushed a commit to branch master
in repository guix.
commit 114a325e8f86c820484c9f64fde6bbadca41eed4
Author: ng0 <address@hidden>
Date: Tue Jan 10 20:49:30 2017 +0000
gnu: Add libpng-apng.
* gnu/packages/image.scm (libpng-apng): New variable.
Co-authored-by: Kei Kebreau <address@hidden>
---
gnu/packages/image.scm | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 53ed69a..f348a61 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,57 @@ 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)
+ (replacement #f) ;libpng's replacement doesn't apply here
+ (name "libpng-apng")
+ (version (package-version libpng))
+ (source
+ (origin
+ (inherit (package-source libpng))
+ (patches (search-patches "libpng-CVE-2016-10087.patch"))))
+ (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)