guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: [PATCH] gnu: Add libjxr.


From: Kei Kebreau
Subject: 01/01: [PATCH] gnu: Add libjxr.
Date: Thu, 3 Nov 2016 17:46:14 +0000 (UTC)

kkebreau pushed a commit to branch master
in repository guix.

commit b81245ccb38dc16d115519dd3166d8bb2c295bb8
Author: Kei Kebreau <address@hidden>
Date:   Thu Nov 3 13:36:02 2016 -0400

    [PATCH] gnu: Add libjxr.
    
    * gnu/packages/image.scm (libjxr): New variable.
    * gnu/packages/patches/libjxr-fix-function-signature.patch: New file.
    * gnu/packages/patches/libjxr-fix-typos.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Register patches.
---
 gnu/local.mk                                       |    2 +
 gnu/packages/image.scm                             |   57 ++++++++++++++++++++
 .../patches/libjxr-fix-function-signature.patch    |   16 ++++++
 gnu/packages/patches/libjxr-fix-typos.patch        |   29 ++++++++++
 4 files changed, 104 insertions(+)

diff --git a/gnu/local.mk b/gnu/local.mk
index 5fe6be5..a23d536 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -639,6 +639,8 @@ dist_patch_DATA =                                           
\
   %D%/packages/patches/libdrm-symbol-check.patch               \
   %D%/packages/patches/libevent-dns-tests.patch                        \
   %D%/packages/patches/libextractor-ffmpeg-3.patch             \
+  %D%/packages/patches/libjxr-fix-function-signature.patch     \
+  %D%/packages/patches/libjxr-fix-typos.patch                  \
   %D%/packages/patches/liboop-mips64-deplibs-fix.patch         \
   %D%/packages/patches/libotr-test-auth-fix.patch              \
   %D%/packages/patches/liblxqt-include.patch                   \
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 3a1209f..6f83fc4 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2016 Tobias Geerinckx-Rice <address@hidden>
 ;;; Copyright © 2016 Eric Bavier <address@hidden>
 ;;; Copyright © 2016 Arun Isaac <address@hidden>
+;;; Copyright © 2016 Kei Kebreau <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -129,6 +130,62 @@ image files in PBMPLUS PPM/PGM, GIF, BMP, and Targa file 
formats.")
             (sha256 (base32
                      
"1cz0dy05mgxqdgjf52p54yxpyy95rgl30cnazdrfmw7hfca9n0h0"))))))
 
+(define-public libjxr
+  (package
+    (name "libjxr")
+    (version "1.1")
+    (source (origin
+              ;; We are using the Debian source because CodePlex does not
+              ;; deliver an easily downloadable tarball.
+              (method url-fetch)
+              (uri (string-append "mirror://debian/pool/main/j/jxrlib/jxrlib_"
+                                  version ".orig.tar.gz"))
+              (sha256
+               (base32
+                "00w3f3cmjsm3fiaxq5mxskmp5rl3mki8psrf9y8s1vqbg237na67"))
+              (patch-flags '("-p1" "--binary"))
+              (patches (search-patches "libjxr-fix-function-signature.patch"
+                                       "libjxr-fix-typos.patch"))))
+    (build-system gnu-build-system)
+    (arguments '(#:make-flags '("CC=gcc")
+                 #:tests? #f ; no check target
+                 #:phases
+                 (modify-phases %standard-phases
+                   (delete 'configure) ; no configure script
+                   ;; The upstream makefile does not include an install phase.
+                   (replace 'install
+                     (lambda* (#:key outputs #:allow-other-keys)
+                       (let* ((out (assoc-ref outputs "out"))
+                              (bin (string-append out "/bin"))
+                              (lib (string-append out "/lib"))
+                              (include (string-append out "/include/jxrlib")))
+                         (for-each (lambda (file)
+                                     (install-file file include)
+                                     (delete-file file))
+                                   (append
+                                    '("jxrgluelib/JXRGlue.h"
+                                      "jxrgluelib/JXRMeta.h"
+                                      "jxrtestlib/JXRTest.h"
+                                      "image/sys/windowsmediaphoto.h")
+                                    (find-files "common/include" "\\.h$")))
+                         (for-each (lambda (file)
+                                     (install-file file lib)
+                                     (delete-file file))
+                                   (find-files "." "\\.a$"))
+                         (for-each (lambda (file)
+                                     (install-file file bin)
+                                     (delete-file file))
+                                   '("JxrDecApp" "JxrEncApp")))
+                       #t)))))
+    (synopsis "Implementation of the JPEG XR standard")
+    (description "JPEG XR is an approved ISO/IEC International standard (its
+official designation is ISO/IEC 29199-2). This library is an implementation of 
that standard.")
+    (license
+     (license:non-copyleft
+      "file://Makefile"
+      "See the header of the Makefile in the distribution."))
+    (home-page "https://jxrlib.codeplex.com/";)))
+
 (define-public jpegoptim
   (package
    (name "jpegoptim")
diff --git a/gnu/packages/patches/libjxr-fix-function-signature.patch 
b/gnu/packages/patches/libjxr-fix-function-signature.patch
new file mode 100644
index 0000000..32f5f64
--- /dev/null
+++ b/gnu/packages/patches/libjxr-fix-function-signature.patch
@@ -0,0 +1,16 @@
+Description: Fix function signature
+Author: Mathieu Malaterre <address@hidden>
+Origin: upstream, 
https://jxrlib.codeplex.com/SourceControl/changeset/04cf339385b8196f98025b43a366a0790deac994
+Bug-Debian: http://bugs.debian.org/748590
+
+--- jxrlib-1.1.orig/image/decode/JXRTranscode.c
++++ jxrlib-1.1/image/decode/JXRTranscode.c
+@@ -47,7 +47,7 @@ EXTERN_C Void FreeCodingContextDec(CWMIm
+ EXTERN_C Int StrEncInit(CWMImageStrCodec *);
+ EXTERN_C Void StrIOEncTerm(CWMImageStrCodec *);
+ EXTERN_C Void FreeCodingContextEnc(CWMImageStrCodec *);
+-EXTERN_C Void encodeMB(CWMImageStrCodec *, Int, Int);
++EXTERN_C Int encodeMB(CWMImageStrCodec *, Int, Int);
+ EXTERN_C Int  writeIndexTableNull(CWMImageStrCodec *);
+ EXTERN_C Void writePacketHeader(BitIOInfo *, U8, U8);
+ 
diff --git a/gnu/packages/patches/libjxr-fix-typos.patch 
b/gnu/packages/patches/libjxr-fix-typos.patch
new file mode 100644
index 0000000..819db34
--- /dev/null
+++ b/gnu/packages/patches/libjxr-fix-typos.patch
@@ -0,0 +1,29 @@
+Description: Fix typos and remove some warnings
+Author: Mathieu Malaterre <address@hidden>
+
+Index: jxrlib-1.1/jxrencoderdecoder/JxrEncApp.c
+===================================================================
+--- jxrlib-1.1.orig/jxrencoderdecoder/JxrEncApp.c
++++ jxrlib-1.1/jxrencoderdecoder/JxrEncApp.c
+@@ -578,7 +578,7 @@ main(int argc, char* argv[])
+ 
+     //================================
+     Call(PKCreateCodecFactory(&pCodecFactory, WMP_SDK_VERSION));
+-    Call(pCodecFactory->CreateCodec(&IID_PKImageWmpEncode, &pEncoder));
++    Call(pCodecFactory->CreateCodec(&IID_PKImageWmpEncode, 
(void**)&pEncoder));
+ 
+     //----------------------------------------------------------------
+     Call(PKCreateTestFactory(&pTestFactory, WMP_SDK_VERSION));
+Index: jxrlib-1.1/jxrgluelib/JXRMeta.h
+===================================================================
+--- jxrlib-1.1.orig/jxrgluelib/JXRMeta.h
++++ jxrlib-1.1/jxrgluelib/JXRMeta.h
+@@ -34,7 +34,7 @@
+ 
+ #ifndef UNREFERENCED_PARAMETER
+ #define UNREFERENCED_PARAMETER(P) { (P) = (P); }
+-#endif UNREFERENCED_PARAMETER
++#endif /*UNREFERENCED_PARAMETER*/
+ 
+ //================================================================
+ // Container



reply via email to

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