guix-commits
[Top][All Lists]
Advanced

[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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]