Mon Nov 25 21:07:19 2019 UTC ()
Fix libjxr on big endian systems and fix warnings

Add patches from FreeBSD ports that fix build warnings.
For the patches to apply correctly, add conversion to unix style linebreaks.
Define _BIG__ENDIAN_ on big endian systems to make the package behave
correctly when running on them. As pointed out in jxrlibs makefile.
Bump pkgrevision and abi depends due to the big endian change.


(nros)
diff -r1.2 -r1.3 pkgsrc/graphics/jxrlib/Makefile
diff -r1.1 -r1.2 pkgsrc/graphics/jxrlib/buildlink3.mk
diff -r1.1 -r1.2 pkgsrc/graphics/jxrlib/distinfo
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-Makefile
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-image_sys_strcodec.c
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-image_sys_strcodec.h
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-jxrencoderdecoder_JxrDecApp.c
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-jxrencoderdecoder_JxrEncApp.c
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-jxrgluelib_JXRGlueJxr.c
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-jxrgluelib_JXRMeta.h
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-jxrtestlib_JXRTest.c
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-jxrtestlib_JXRTestHdr.c
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-jxrtestlib_JXRTestPnm.c
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-jxrtestlib_JXRTestTif.c

cvs diff -r1.2 -r1.3 pkgsrc/graphics/jxrlib/Makefile (expand / switch to unified diff)

--- pkgsrc/graphics/jxrlib/Makefile 2017/09/03 09:22:57 1.2
+++ pkgsrc/graphics/jxrlib/Makefile 2019/11/25 21:07:18 1.3
@@ -1,34 +1,47 @@ @@ -1,34 +1,47 @@
1# $NetBSD: Makefile,v 1.2 2017/09/03 09:22:57 wiz Exp $ 1# $NetBSD: Makefile,v 1.3 2019/11/25 21:07:18 nros Exp $
2 2
3DISTNAME= jxrlib_1_1 3DISTNAME= jxrlib_1_1
4PKGNAME= jxrlib-1.1 4PKGNAME= jxrlib-1.1
 5PKGREVISION= 1
5CATEGORIES= graphics 6CATEGORIES= graphics
6MASTER_SITES= # javascript link 7MASTER_SITES= # javascript link
7 8
8MAINTAINER= pkgsrc-users@NetBSD.org 9MAINTAINER= pkgsrc-users@NetBSD.org
9HOMEPAGE= https://github.com/curasystems/jxrlib 10HOMEPAGE= https://github.com/curasystems/jxrlib
10COMMENT= JPEG XR library 11COMMENT= JPEG XR library
11LICENSE= 2-clause-bsd 12LICENSE= 2-clause-bsd
12 13
 14TOOL_DEPENDS+= dos2unix-[0-9]*:../../converters/dos2unix
 15
13WRKSRC= ${WRKDIR}/jxrlib 16WRKSRC= ${WRKDIR}/jxrlib
14 17
 18.include "../../mk/endian.mk"
 19.if ${MACHINE_ENDIAN} == "big"
 20CFLAGS+=-D_BIG__ENDIAN_
 21.endif
 22
15INSTALLATION_DIRS= bin lib 23INSTALLATION_DIRS= bin lib
16INSTALLATION_DIRS+= include/jxrlib/common/include 24INSTALLATION_DIRS+= include/jxrlib/common/include
17INSTALLATION_DIRS+= include/jxrlib/image/sys 25INSTALLATION_DIRS+= include/jxrlib/image/sys
18INSTALLATION_DIRS+= include/jxrlib/image/encode 26INSTALLATION_DIRS+= include/jxrlib/image/encode
19INSTALLATION_DIRS+= include/jxrlib/image/decode 27INSTALLATION_DIRS+= include/jxrlib/image/decode
20INSTALLATION_DIRS+= include/jxrlib/image/x86 28INSTALLATION_DIRS+= include/jxrlib/image/x86
21INSTALLATION_DIRS+= include/jxrgluelib 29INSTALLATION_DIRS+= include/jxrgluelib
22INSTALLATION_DIRS+= share/doc/jxrlib 30INSTALLATION_DIRS+= share/doc/jxrlib
23 31
 32pre-patch:
 33 dos2unix ${WRKSRC}/Makefile
 34 find ${WRKSRC} -name '*.c' -print0 | xargs -0 dos2unix
 35 find ${WRKSRC} -name '*.h' -print0 | xargs -0 dos2unix
 36
24do-install: 37do-install:
25 ${INSTALL_PROGRAM} ${WRKSRC}/JxrEncApp ${DESTDIR}${PREFIX}/bin 38 ${INSTALL_PROGRAM} ${WRKSRC}/JxrEncApp ${DESTDIR}${PREFIX}/bin
26 ${INSTALL_PROGRAM} ${WRKSRC}/JxrDecApp ${DESTDIR}${PREFIX}/bin 39 ${INSTALL_PROGRAM} ${WRKSRC}/JxrDecApp ${DESTDIR}${PREFIX}/bin
27 ${INSTALL_LIB} ${WRKSRC}/*.a ${DESTDIR}${PREFIX}/lib 40 ${INSTALL_LIB} ${WRKSRC}/*.a ${DESTDIR}${PREFIX}/lib
28 for dir in common/include image/sys image/encode image/decode image/x86; do \ 41 for dir in common/include image/sys image/encode image/decode image/x86; do \
29 ${INSTALL_DATA} ${WRKSRC}/$$dir/*.h ${DESTDIR}${PREFIX}/include/jxrlib/$$dir; \ 42 ${INSTALL_DATA} ${WRKSRC}/$$dir/*.h ${DESTDIR}${PREFIX}/include/jxrlib/$$dir; \
30 done 43 done
31 ${INSTALL_DATA} ${WRKSRC}/jxrgluelib/*.h ${DESTDIR}${PREFIX}/include/jxrgluelib 44 ${INSTALL_DATA} ${WRKSRC}/jxrgluelib/*.h ${DESTDIR}${PREFIX}/include/jxrgluelib
32 ${INSTALL_DATA} ${WRKSRC}/doc/* ${DESTDIR}${PREFIX}/share/doc/jxrlib 45 ${INSTALL_DATA} ${WRKSRC}/doc/* ${DESTDIR}${PREFIX}/share/doc/jxrlib
33 46
34.include "../../mk/bsd.pkg.mk" 47.include "../../mk/bsd.pkg.mk"

cvs diff -r1.1 -r1.2 pkgsrc/graphics/jxrlib/buildlink3.mk (expand / switch to unified diff)

--- pkgsrc/graphics/jxrlib/buildlink3.mk 2017/04/04 13:07:07 1.1
+++ pkgsrc/graphics/jxrlib/buildlink3.mk 2019/11/25 21:07:18 1.2
@@ -1,13 +1,14 @@ @@ -1,13 +1,14 @@
1# $NetBSD: buildlink3.mk,v 1.1 2017/04/04 13:07:07 wiz Exp $ 1# $NetBSD: buildlink3.mk,v 1.2 2019/11/25 21:07:18 nros Exp $
2 2
3BUILDLINK_TREE+= jxrlib 3BUILDLINK_TREE+= jxrlib
4 4
5.if !defined(JXRLIB_BUILDLINK3_MK) 5.if !defined(JXRLIB_BUILDLINK3_MK)
6JXRLIB_BUILDLINK3_MK:= 6JXRLIB_BUILDLINK3_MK:=
7 7
8BUILDLINK_API_DEPENDS.jxrlib+= jxrlib>=1.1 8BUILDLINK_API_DEPENDS.jxrlib+= jxrlib>=1.1
 9BUILDLINK_ABI_DEPENDS.jxrlib+= jxrlib>=1.1nb1
9BUILDLINK_PKGSRCDIR.jxrlib?= ../../graphics/jxrlib 10BUILDLINK_PKGSRCDIR.jxrlib?= ../../graphics/jxrlib
10BUILDLINK_DEPMETHOD.jxrlib?= build 11BUILDLINK_DEPMETHOD.jxrlib?= build
11.endif # JXRLIB_BUILDLINK3_MK 12.endif # JXRLIB_BUILDLINK3_MK
12 13
13BUILDLINK_TREE+= -jxrlib 14BUILDLINK_TREE+= -jxrlib

cvs diff -r1.1 -r1.2 pkgsrc/graphics/jxrlib/distinfo (expand / switch to unified diff)

--- pkgsrc/graphics/jxrlib/distinfo 2017/04/04 13:07:07 1.1
+++ pkgsrc/graphics/jxrlib/distinfo 2019/11/25 21:07:18 1.2
@@ -1,6 +1,17 @@ @@ -1,6 +1,17 @@
1$NetBSD: distinfo,v 1.1 2017/04/04 13:07:07 wiz Exp $ 1$NetBSD: distinfo,v 1.2 2019/11/25 21:07:18 nros Exp $
2 2
3SHA1 (jxrlib_1_1.tar.gz) = bf6cfa00087a67491a6ba55d6d96d74e94560430 3SHA1 (jxrlib_1_1.tar.gz) = bf6cfa00087a67491a6ba55d6d96d74e94560430
4RMD160 (jxrlib_1_1.tar.gz) = 31b378cd0de3ce2c1d19fae3927c67046471d07b 4RMD160 (jxrlib_1_1.tar.gz) = 31b378cd0de3ce2c1d19fae3927c67046471d07b
5SHA512 (jxrlib_1_1.tar.gz) = c7d87647601e08b2dc18bda26faea80ad5b09c6e8412769cd203ce9e221b2b58425e9d59a506ae8bf61030195bccb51a9d1e893bf2d18e596b0687918b39e2df 5SHA512 (jxrlib_1_1.tar.gz) = c7d87647601e08b2dc18bda26faea80ad5b09c6e8412769cd203ce9e221b2b58425e9d59a506ae8bf61030195bccb51a9d1e893bf2d18e596b0687918b39e2df
6Size (jxrlib_1_1.tar.gz) = 338240 bytes 6Size (jxrlib_1_1.tar.gz) = 338240 bytes
 7SHA1 (patch-Makefile) = 581bdfdfee20fd1f6d0a2a3d1cf8ce877eb0629b
 8SHA1 (patch-image_sys_strcodec.c) = 3cf7e93704c5849dcbb3ff435743f87fe8ebf042
 9SHA1 (patch-image_sys_strcodec.h) = ef060597735fbc9529bd25cb3431eafaf3284ddc
 10SHA1 (patch-jxrencoderdecoder_JxrDecApp.c) = ae71490d95c3f15cd65115872d2463468cda3a97
 11SHA1 (patch-jxrencoderdecoder_JxrEncApp.c) = ff66c068348260291d51d21f8caf6059a63fac65
 12SHA1 (patch-jxrgluelib_JXRGlueJxr.c) = adce3e44d470c62817ef83a3b0723818d8ecb810
 13SHA1 (patch-jxrgluelib_JXRMeta.h) = b14f26ab80b1050879eac404283a11a795326444
 14SHA1 (patch-jxrtestlib_JXRTest.c) = 2dcb7f4f953c129db1e7db4741439f1c5eb19e27
 15SHA1 (patch-jxrtestlib_JXRTestHdr.c) = 8f5562dfe3d0dd1ddfb6b591facd51c45cd3d068
 16SHA1 (patch-jxrtestlib_JXRTestPnm.c) = ea94a288d76d9e9c316716f07226640570136460
 17SHA1 (patch-jxrtestlib_JXRTestTif.c) = f4c36e487a808e80ff75cd99fd693c555902d758

File Added: pkgsrc/graphics/jxrlib/patches/patch-Makefile
$NetBSD: patch-Makefile,v 1.1 2019/11/25 21:07:19 nros Exp $
* take in CFLAGS from the environment so that _BIG__ENDIAN_ can be added
--- Makefile.orig	2019-11-25 19:14:40.081612047 +0000
+++ Makefile
@@ -39,7 +39,7 @@ DIR_GLUE=jxrgluelib
 DIR_TEST=jxrtestlib
 DIR_EXEC=jxrencoderdecoder
 
-CFLAGS=-I. -Icommon/include -I$(DIR_SYS) -D__ANSI__ -DDISABLE_PERF_MEASUREMENT -w -O
+CFLAGS+=-I. -Icommon/include -I$(DIR_SYS) -D__ANSI__ -DDISABLE_PERF_MEASUREMENT -w -O
 ##
 ## Add following flag to CFLAGS above if target is a big endian machine
 ## -D_BIG__ENDIAN_

File Added: pkgsrc/graphics/jxrlib/patches/patch-image_sys_strcodec.c
$NetBSD: patch-image_sys_strcodec.c,v 1.1 2019/11/25 21:07:19 nros Exp $
* defines in .h file, fromm FreeBSD ports  
--- image/sys/strcodec.c.orig	2013-03-20 18:16:21.000000000 +0000
+++ image/sys/strcodec.c
@@ -668,9 +668,7 @@ ERR detach_SB(SimpleBitIO* pSB)
 // WinCE ARM and Desktop x86
 #else
 // other platform
-#ifdef _BIG__ENDIAN_
-#define _byteswap_ulong(x)  (x)
-#else // _BIG__ENDIAN_
+#ifndef _BIG__ENDIAN_
 U32 _byteswap_ulong(U32 bits)
 {
     U32 r = (bits & 0xffu) << 24;

File Added: pkgsrc/graphics/jxrlib/patches/patch-image_sys_strcodec.h
$NetBSD: patch-image_sys_strcodec.h,v 1.1 2019/11/25 21:07:19 nros Exp $
* fix warning
* define and declaration of byteswap in .h file
* from FreeBSD ports
--- image/sys/strcodec.h.orig	2013-03-21 18:22:34.000000000 +0000
+++ image/sys/strcodec.h
@@ -64,7 +64,7 @@
 
 #ifndef UNREFERENCED_PARAMETER
 #define UNREFERENCED_PARAMETER(P) { (P) = (P); }
-#endif UNREFERENCED_PARAMETER
+#endif
 
 #ifdef UNDER_CE
 #define PLATFORM_WCE
@@ -676,3 +676,14 @@ void flushToByte(BitIOInfo* pIO);
 //    pIO->uiAccumulator = LOAD16(pIO->pbCurrent) & ((U32)(-1) >> pIO->cBitsUsed);\
 
 void OutputPerfTimerReport(CWMImageStrCodec *pState);
+
+#if (defined(WIN32) && !defined(UNDER_CE)) || (defined(UNDER_CE) && defined(_ARM_))
+// WinCE ARM and Desktop x86
+#else
+// other platform
+#ifdef _BIG__ENDIAN_
+#define _byteswap_ulong(x)  (x)
+#else // _BIG__ENDIAN_
+U32 _byteswap_ulong(U32 bits);
+#endif // _BIG__ENDIAN_
+#endif

File Added: pkgsrc/graphics/jxrlib/patches/patch-jxrencoderdecoder_JxrDecApp.c
$NetBSD: patch-jxrencoderdecoder_JxrDecApp.c,v 1.1 2019/11/25 21:07:19 nros Exp $
* fix warnings, from FreeBSD ports  
--- jxrencoderdecoder/JxrDecApp.c.orig	2019-11-25 19:14:26.881820454 +0000
+++ jxrencoderdecoder/JxrDecApp.c
@@ -423,7 +423,7 @@ ERR WmpDecAppCreateEncoderFromExt(
     Call(GetTestEncodeIID(szExt, &pIID));
 
     // Create encoder
-    Call(PKTestFactory_CreateCodec(pIID, ppIE));
+    Call(PKTestFactory_CreateCodec(pIID, (void**)ppIE));
 
 Cleanup:
     return err;

File Added: pkgsrc/graphics/jxrlib/patches/patch-jxrencoderdecoder_JxrEncApp.c
$NetBSD: patch-jxrencoderdecoder_JxrEncApp.c,v 1.1 2019/11/25 21:07:19 nros Exp $
* Fix warnings, from FreeBSD ports
--- jxrencoderdecoder/JxrEncApp.c.orig	2019-11-16 13:13:44.454384643 +0000
+++ 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));

File Added: pkgsrc/graphics/jxrlib/patches/patch-jxrgluelib_JXRGlueJxr.c
$NetBSD: patch-jxrgluelib_JXRGlueJxr.c,v 1.1 2019/11/25 21:07:19 nros Exp $
* fix missing declaration of wcslen
--- jxrgluelib/JXRGlueJxr.c.orig	2013-03-20 19:01:13.000000000 +0000
+++ jxrgluelib/JXRGlueJxr.c
@@ -27,6 +27,7 @@
 //
 //*@@@---@@@@******************************************************************
 #include <limits.h>
+#include <wchar.h>
 #include <JXRGlue.h>
 
 

File Added: pkgsrc/graphics/jxrlib/patches/patch-jxrgluelib_JXRMeta.h
$NetBSD: patch-jxrgluelib_JXRMeta.h,v 1.1 2019/11/25 21:07:19 nros Exp $
* Fix warning
--- jxrgluelib/JXRMeta.h.orig	2019-11-16 11:24:33.138807563 +0000
+++ jxrgluelib/JXRMeta.h
@@ -34,7 +34,7 @@
 
 #ifndef UNREFERENCED_PARAMETER
 #define UNREFERENCED_PARAMETER(P) { (P) = (P); }
-#endif UNREFERENCED_PARAMETER
+#endif
 
 //================================================================
 // Container

File Added: pkgsrc/graphics/jxrlib/patches/patch-jxrtestlib_JXRTest.c
$NetBSD: patch-jxrtestlib_JXRTest.c,v 1.1 2019/11/25 21:07:19 nros Exp $
* fix warnings, from FreeBSD ports
--- jxrtestlib/JXRTest.c.orig	2013-03-19 19:06:18.000000000 +0000
+++ jxrtestlib/JXRTest.c
@@ -198,7 +198,7 @@ ERR PKTestFactory_CreateDecoderFromFile(
     ERR err = WMP_errSuccess;
 
     char *pExt = NULL;
-    PKIID* pIID = NULL;
+    const PKIID* pIID = NULL;
 
     struct WMPStream* pStream = NULL;
     PKImageDecode* pDecoder = NULL;
@@ -214,7 +214,7 @@ ERR PKTestFactory_CreateDecoderFromFile(
     Call(CreateWS_File(&pStream, szFilename, "rb"));
 
     // Create decoder
-    Call(PKTestFactory_CreateCodec(pIID, ppDecoder));
+    Call(PKTestFactory_CreateCodec(pIID,(void**)ppDecoder));
     pDecoder = *ppDecoder;
 
     // attach stream to decoder
@@ -232,7 +232,7 @@ ERR PKCreateTestFactory(PKCodecFactory**
 
     UNREFERENCED_PARAMETER( uVersion );
 
-    Call(PKAlloc(ppCFactory, sizeof(**ppCFactory)));
+    Call(PKAlloc((void**)ppCFactory, sizeof(**ppCFactory)));
     pCFactory = *ppCFactory;
 
     pCFactory->CreateCodec = PKTestFactory_CreateCodec;
@@ -287,7 +287,7 @@ ERR PKTestDecode_Release(
 
     pID->fStreamOwner && pID->pStream->Close(&pID->pStream);
 
-    return PKFree(ppID);
+    return PKFree((void**)ppID);
 }
 
 ERR PKTestDecode_Create(
@@ -296,7 +296,7 @@ ERR PKTestDecode_Create(
     ERR err = WMP_errSuccess;
     PKTestDecode* pID = NULL;
 
-    Call(PKAlloc(ppID, sizeof(**ppID)));
+    Call(PKAlloc((void**)ppID, sizeof(**ppID)));
 
     pID = *ppID;
     pID->Initialize = PKTestDecode_Initialize;

File Added: pkgsrc/graphics/jxrlib/patches/patch-jxrtestlib_JXRTestHdr.c
$NetBSD: patch-jxrtestlib_JXRTestHdr.c,v 1.1 2019/11/25 21:07:19 nros Exp $
* fix warning
--- jxrtestlib/JXRTestHdr.c.orig	2013-03-20 16:40:08.000000000 +0000
+++ jxrtestlib/JXRTestHdr.c
@@ -27,7 +27,7 @@
 //*@@@---@@@@******************************************************************
 #ifndef ANSI
 #define _CRT_SECURE_NO_WARNINGS
-#endif ANSI
+#endif
 
 #include <stdlib.h>
 #include <string.h>

File Added: pkgsrc/graphics/jxrlib/patches/patch-jxrtestlib_JXRTestPnm.c
$NetBSD: patch-jxrtestlib_JXRTestPnm.c,v 1.1 2019/11/25 21:07:19 nros Exp $
* fix warning
--- jxrtestlib/JXRTestPnm.c.orig	2019-11-16 13:10:49.180538241 +0000
+++ jxrtestlib/JXRTestPnm.c
@@ -27,7 +27,7 @@
 //*@@@---@@@@******************************************************************
 #ifndef ANSI
 #define _CRT_SECURE_NO_WARNINGS
-#endif ANSI
+#endif
 
 #include <stdlib.h>
 

File Added: pkgsrc/graphics/jxrlib/patches/patch-jxrtestlib_JXRTestTif.c
$NetBSD: patch-jxrtestlib_JXRTestTif.c,v 1.1 2019/11/25 21:07:19 nros Exp $
* Fix warnings, from FreeBSD ports
--- jxrtestlib/JXRTestTif.c.orig	2013-03-19 19:17:12.000000000 +0000
+++ jxrtestlib/JXRTestTif.c
@@ -909,8 +909,8 @@ ERR PKImageDecode_Release_TIF(PKTestDeco
 
     PKTestDecode *pID = *ppID;
 
-    Call(WMPFree(&pID->EXT.TIF.uStripOffsets));
-    Call(WMPFree(&pID->EXT.TIF.uStripByteCounts));
+    Call(WMPFree((void**)&pID->EXT.TIF.uStripOffsets));
+    Call(WMPFree((void**)&pID->EXT.TIF.uStripByteCounts));
 
     Call(PKTestDecode_Release(ppID));